Import gcl27_2.7.1-12.debian.tar.xz
authorCamm Maguire <camm@debian.org>
Wed, 25 Feb 2026 13:23:26 +0000 (08:23 -0500)
committerCamm Maguire <camm@debian.org>
Wed, 25 Feb 2026 13:23:26 +0000 (08:23 -0500)
[dgit import tarball gcl27 2.7.1-12 gcl27_2.7.1-12.debian.tar.xz]

70 files changed:
README.Debian [new file with mode: 0644]
changelog [new file with mode: 0644]
control [new file with mode: 0644]
control_ [new file with mode: 0644]
control_27 [new file with mode: 0644]
control_cvs [new file with mode: 0644]
copyright [new file with mode: 0644]
debian-autoloads.el [new file with mode: 0644]
gcl-pkg.el.in [new file with mode: 0644]
gcl.sh [new file with mode: 0755]
gcl27.templates [new file with mode: 0644]
in.gcl-clc.sh [new file with mode: 0644]
in.gcl-doc.README.Debian [new file with mode: 0644]
in.gcl-doc.doc-base.main [new file with mode: 0644]
in.gcl-doc.doc-base.si [new file with mode: 0644]
in.gcl-doc.doc-base.xgcl [new file with mode: 0644]
in.gcl-doc.docs [new file with mode: 0644]
in.gcl-doc.info [new file with mode: 0644]
in.gcl-doc.install [new file with mode: 0644]
in.gcl-tk-doc.doc-base.tk [new file with mode: 0644]
in.gcl-tk-doc.info [new file with mode: 0644]
in.gcl-tk-doc.install [new file with mode: 0644]
in.gcl-tk.install [new file with mode: 0644]
in.gcl-tk.lintian-overrides [new file with mode: 0644]
in.gcl.1 [new file with mode: 0644]
in.gcl.config [new file with mode: 0644]
in.gcl.docs [new file with mode: 0644]
in.gcl.install [new file with mode: 0644]
in.gcl.lintian-overrides [new file with mode: 0644]
in.gcl.manpages [new file with mode: 0644]
in.gcl.postinst [new file with mode: 0644]
in.gcl.postrm [new file with mode: 0644]
in.gcl.templates [new file with mode: 0644]
old.in.gcl-doc.doc-base.main [new file with mode: 0644]
patches/Version_2_7_2ore3 [new file with mode: 0644]
patches/Version_2_7_2pre1 [new file with mode: 0644]
patches/Version_2_7_2pre10 [new file with mode: 0644]
patches/Version_2_7_2pre11 [new file with mode: 0644]
patches/Version_2_7_2pre2 [new file with mode: 0644]
patches/Version_2_7_2pre5 [new file with mode: 0644]
patches/Version_2_7_2pre6 [new file with mode: 0644]
patches/Version_2_7_2pre7 [new file with mode: 0644]
patches/Version_2_7_2pre8 [new file with mode: 0644]
patches/Version_2_7_2pre9 [new file with mode: 0644]
patches/series [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/ca.po [new file with mode: 0644]
po/cs.po [new file with mode: 0644]
po/da.po [new file with mode: 0644]
po/de.po [new file with mode: 0644]
po/es.po [new file with mode: 0644]
po/fi.po [new file with mode: 0644]
po/fr.po [new file with mode: 0644]
po/gl.po [new file with mode: 0644]
po/in.POTFILES.in [new file with mode: 0644]
po/it.po [new file with mode: 0644]
po/ja.po [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/pt.po [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/ru.po [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/templates.pot [new file with mode: 0644]
po/vi.po [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/include-binaries [new file with mode: 0644]
texi.awk [new file with mode: 0755]
upstream/signing-key.asc [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..8174975
--- /dev/null
@@ -0,0 +1,28 @@
+The Debian package gcl
+----------------------
+
+GCL is one of the oldest free common lisp systems still in use. Several
+production systems have used it for over a decade.  The common lisp
+standard in effect when GCL was first released is known as "Common Lisp,
+the Language" (CLtL1) after a book by Steele of the same name providing
+this specification.  Subsequently, a much expanded standard was adopted by
+the American National Standards Institute (ANSI), which is still
+considered the definitive common lisp language specification to this day. 
+
+Debian GCL now installs both the small 'traditional' lisp image
+designed to conform to a pre-ANSI Lisp standard, and an experimental
+ANSI image.  Please note that ANSI support in GCL is still
+preliminary.  On an ansi-test suite written by a GCL developer, GCL
+fails on a little under 3 percent of the tests.  Details can be found
+in /usr/share/doc/gcl/test_results.gz.
+
+To toggle the use of the ANSI image, set the environment variable
+GCL_ANSI to any non-empty string.
+
+New in 2.6.2
+------------
+
+Please see the RELEASE-2.6.2.html file for release note information,
+regression testing, and sample benchmarks.
+
+ -- Camm Maguire <camm@enhanced.com>, Wed Dec 14 18:55:19 2005
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..b136e95
--- /dev/null
+++ b/changelog
@@ -0,0 +1,4579 @@
+gcl27 (2.7.1-12) unstable; urgency=medium
+
+  * Version_2_7_2pre11
+  * Bug fix: "FTBFS with glibc 2.43 due to ISO C23 const return types",
+    thanks to Aurelien Jarno (Closes: #1128546).
+  * Bug fix: "Update/add debconf template translation [INTL:ca]", thanks
+    to Carles Pina i Estany (Closes: #1118704).
+  * Bug fix: "[INTL:sv] Swedish strings for gcl27 debconf", thanks to
+    Martin Bagge / brother (Closes: #1122744).
+  * Bug fix: "[INTL:es] Spanish translation of gcl27 debconf template",
+    thanks to Camaleón (Closes: #1108096).
+  * Bug fix: "FTBFS: SIMPLE-ERROR: SAVE-EXEC is unable to save to file
+    &quot;saved_acl2.c&quot;, because its directory does not exist.",
+    thanks to Santiago Vila (Closes: #1128663).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 25 Feb 2026 08:23:26 -0500
+
+gcl27 (2.7.1-11) unstable; urgency=medium
+
+  * Version_2_7_2pre10
+
+ -- Camm Maguire <camm@debian.org>  Sun, 22 Feb 2026 11:52:14 -0500c
+
+gcl27 (2.7.1-10) unstable; urgency=medium
+
+  * Version_2_7_2pre9
+
+ -- Camm Maguire <camm@debian.org>  Thu, 19 Feb 2026 17:21:25 -0500
+
+gcl27 (2.7.1-9) unstable; urgency=medium
+
+  * Version_2_7_2pre8
+
+ -- Camm Maguire <camm@debian.org>  Thu, 19 Feb 2026 16:06:23 -0500
+
+gcl27 (2.7.1-8) unstable; urgency=medium
+
+  * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
+    declaration of function &#39;__builtin_c23_va_start&#39;; did you mean
+    &#39;__builtin_ms_va_start&#39;? [-Wimplicit-function-declaration]",
+    thanks to Santiago Vila (Closes: #1114119).
+  * Version_2_7_2pre7
+
+ -- Camm Maguire <camm@debian.org>  Sun, 21 Sep 2025 14:06:45 -0400
+
+gcl27 (2.7.1-7) unstable; urgency=medium
+
+  * Version_2_7_2pre6
+  * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 29 May 2025 19:11:18 -0400
+
+gcl27 (2.7.1-6) unstable; urgency=medium
+
+  * Version_2_7_2pre5
+
+ -- Camm Maguire <camm@debian.org>  Wed, 14 May 2025 02:58:40 -0400
+
+gcl27 (2.7.1-5) unstable; urgency=medium
+
+  * Version_2_7_2pre4
+  * Bug fix: "[INTL:pt] Portuguese translation - debconf messages", thanks
+    to Américo Monteiro (Closes: #1104887).
+  * Bug fix: "[INTL:de] updated German debconf translation", thanks to
+    Helge Kreutzmann (Closes: #1104918).
+
+ -- Camm Maguire <camm@debian.org>  Sat, 10 May 2025 19:27:15 -0400
+
+gcl27 (2.7.1-4) unstable; urgency=medium
+
+  * Version_2_7_2ore3
+
+ -- Camm Maguire <camm@debian.org>  Sat, 03 May 2025 09:21:20 -0400
+
+gcl27 (2.7.1-3) unstable; urgency=medium
+
+  * Version_2_7_2ore2
+
+ -- Camm Maguire <camm@debian.org>  Tue, 22 Apr 2025 20:39:18 -0400
+
+gcl27 (2.7.1-2) unstable; urgency=medium
+
+  * Version_2_7_2ore1
+
+ -- Camm Maguire <camm@debian.org>  Fri, 11 Apr 2025 20:30:34 -0400
+
+gcl27 (2.7.1-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Camm Maguire <camm@debian.org>  Thu, 10 Apr 2025 21:39:17 -0400
+
+gcl27 (2.7.0-36) unstable; urgency=medium
+
+  * Version_2_7_0pre39
+
+ -- Camm Maguire <camm@debian.org>  Mon, 24 Mar 2025 16:30:46 -0400
+
+gcl27 (2.7.0-35) unstable; urgency=medium
+
+  * Version_2_7_0pre38
+  * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes:
+    #1096686).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 06 Mar 2025 10:54:11 -0500
+
+gcl27 (2.7.0-34) unstable; urgency=medium
+
+  * Version_2_7_0pre37
+  * Bug fix: "outdated debconf version constraint; inhibits support for
+    debconf-2.0/cdebconf", thanks to Gioele Barabucci (Closes: #1096166).
+
+ -- Camm Maguire <camm@debian.org>  Tue, 18 Feb 2025 12:50:30 -0500
+
+gcl27 (2.7.0-33) unstable; urgency=medium
+
+  * Version_2_7_0pre36
+
+ -- Camm Maguire <camm@debian.org>  Sat, 08 Feb 2025 15:29:48 -0500
+
+gcl27 (2.7.0-32) unstable; urgency=medium
+
+  * Version_2_7_0pre35
+
+ -- Camm Maguire <camm@debian.org>  Sun, 02 Feb 2025 12:00:42 -0500
+
+gcl27 (2.7.0-31) unstable; urgency=medium
+
+  * Version_2_7_0pre34
+
+ -- Camm Maguire <camm@debian.org>  Fri, 17 Jan 2025 18:42:15 -0500
+
+gcl27 (2.7.0-30) unstable; urgency=medium
+
+  * Version_2_7_0pre33
+
+ -- Camm Maguire <camm@debian.org>  Fri, 27 Dec 2024 13:21:13 -0500
+
+gcl27 (2.7.0-29) unstable; urgency=medium
+
+  * Version_2_7_0pre32
+
+ -- Camm Maguire <camm@debian.org>  Mon, 09 Dec 2024 10:00:39 -0500
+
+gcl27 (2.7.0-28) unstable; urgency=medium
+
+  * Version_2_7_0pre31
+
+ -- Camm Maguire <camm@debian.org>  Wed, 04 Dec 2024 13:25:14 -0500
+
+gcl27 (2.7.0-27) unstable; urgency=medium
+
+  * Version_2_7_0pre30
+
+ -- Camm Maguire <camm@debian.org>  Wed, 04 Dec 2024 07:48:31 -0500
+
+gcl27 (2.7.0-26) unstable; urgency=medium
+
+  * Version_2_7_0pre29
+
+ -- Camm Maguire <camm@debian.org>  Sat, 23 Nov 2024 11:33:30 -0500
+
+gcl27 (2.7.0-25) unstable; urgency=medium
+
+  * Bug fix: "needs rebuild against dh-elpa &gt;=2.1.5", thanks to
+    spwhitton@spwhitton.name</a>; (Closes: #1077103).
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Jul 2024 12:07:24 -0400
+
+gcl27 (2.7.0-24) unstable; urgency=medium
+
+  * Version_2_7_0pre27
+
+ -- Camm Maguire <camm@debian.org>  Fri, 19 Jul 2024 15:04:27 -0400
+
+gcl27 (2.7.0-23) unstable; urgency=medium
+
+  * Version_2_7_0pre26
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Apr 2024 22:13:09 -0400
+
+gcl27 (2.7.0-22) unstable; urgency=medium
+
+  * Version_2_7_0pre25
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Apr 2024 07:55:48 -0400
+
+gcl27 (2.7.0-21) unstable; urgency=high
+
+  * Version_2_7_0pre24
+  * Bug fix: "recent libc6-dev change causes XDR support to be dropped",
+    thanks to Aurelien Jarno (Closes: #1065207).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 15 Mar 2024 20:00:19 -0400
+
+gcl27 (2.7.0-20) unstable; urgency=medium
+
+  * Version_2_7_0pre23
+
+ -- Camm Maguire <camm@debian.org>  Thu, 29 Feb 2024 06:51:25 -0500
+
+gcl27 (2.7.0-19) unstable; urgency=medium
+
+  * Version_2_7_0pre22
+
+ -- Camm Maguire <camm@debian.org>  Wed, 28 Feb 2024 13:35:45 -0500
+
+gcl27 (2.7.0-18) unstable; urgency=medium
+
+  * Version_2_7_0pre21
+
+ -- Camm Maguire <camm@debian.org>  Sat, 24 Feb 2024 08:40:29 -0500
+
+gcl27 (2.7.0-17) unstable; urgency=medium
+
+  * Version_2_7_0pre20
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Feb 2024 12:23:51 -0500
+
+gcl27 (2.7.0-16) unstable; urgency=medium
+
+  * Version_2_7_0pre19
+
+ -- Camm Maguire <camm@debian.org>  Thu, 22 Feb 2024 22:03:20 -0500
+
+gcl27 (2.7.0-15) unstable; urgency=medium
+
+  * Version_2_7_0pre18
+
+ -- Camm Maguire <camm@debian.org>  Thu, 22 Feb 2024 15:00:44 -0500
+
+gcl27 (2.7.0-14) unstable; urgency=medium
+
+  * Version_2_7_0pre17
+
+ -- Camm Maguire <camm@debian.org>  Wed, 21 Feb 2024 08:03:46 -0500
+
+gcl27 (2.7.0-13) unstable; urgency=medium
+
+  * Version_2_7_0pre16
+
+ -- Camm Maguire <camm@debian.org>  Wed, 21 Feb 2024 00:17:54 -0500
+
+gcl27 (2.7.0-12) unstable; urgency=medium
+
+  * Version_2_7_0pre15
+
+ -- Camm Maguire <camm@debian.org>  Mon, 19 Feb 2024 19:08:05 -0500
+
+gcl27 (2.7.0-11) unstable; urgency=medium
+
+  * Version_2_7_0pre14
+
+ -- Camm Maguire <camm@debian.org>  Mon, 19 Feb 2024 11:04:51 -0500
+
+gcl27 (2.7.0-10) unstable; urgency=medium
+
+  * Version_2_7_0pre13
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 20:17:32 -0500
+
+gcl27 (2.7.0-9) unstable; urgency=medium
+
+  * Version_2_7_0pre12
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 18:09:15 -0500
+
+gcl27 (2.7.0-8) unstable; urgency=medium
+
+  * Version_2_7_0pre11
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 10:36:24 -0500
+
+gcl27 (2.7.0-7) unstable; urgency=medium
+
+  * Version_2_7_0pre10
+
+ -- Camm Maguire <camm@debian.org>  Sat, 27 Jan 2024 12:35:03 -0500
+
+gcl27 (2.7.0-6) unstable; urgency=medium
+
+  * Version_2_7_0pre9
+
+ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 15:02:31 -0500
+
+gcl27 (2.7.0-5) unstable; urgency=medium
+
+  * Version_2_7_0pre8
+
+ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 13:08:00 -0500
+
+gcl27 (2.7.0-4) unstable; urgency=medium
+
+  * Version_2_7_0pre7
+
+ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 09:37:49 -0500
+
+gcl27 (2.7.0-3) unstable; urgency=medium
+
+  * Version_2_7_0pre5
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Dec 2023 19:43:39 -0500
+
+gcl27 (2.7.0-2) unstable; urgency=medium
+
+  * Version_2_7_0pre4
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Dec 2023 16:01:04 -0500
+
+gcl27 (2.7.0-1) unstable; urgency=medium
+
+  * Version_2_7_0pre3
+
+ -- Camm Maguire <camm@debian.org>  Thu, 14 Dec 2023 16:20:45 -0500
+
+gcl (2.6.13-5) unstable; urgency=medium
+
+  * Version_2_6_14pre4
+
+ -- Camm Maguire <camm@debian.org>  Sun, 25 Dec 2022 07:14:33 -0500
+
+gcl (2.6.13-4) unstable; urgency=medium
+
+  * Version_2_6_14pre3
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Dec 2022 11:34:35 -0500
+
+gcl (2.6.13-3) unstable; urgency=medium
+
+  * Version_2_6_14pre2
+
+ -- Camm Maguire <camm@debian.org>  Thu, 22 Dec 2022 19:09:24 -0500
+
+gcl (2.6.13-2) unstable; urgency=medium
+
+  * Version_2_6_14pre1
+
+ -- Camm Maguire <camm@debian.org>  Wed, 21 Dec 2022 14:40:21 -0500
+
+gcl (2.6.13-1) unstable; urgency=medium
+
+  * New Upstream Release
+
+ -- Camm Maguire <camm@debian.org>  Tue, 20 Dec 2022 10:35:44 -0500
+
+gcl (2.6.12-131) unstable; urgency=medium
+
+  * Version_2.6.13pre131
+
+ -- Camm Maguire <camm@debian.org>  Sat, 17 Dec 2022 12:15:58 -0500
+
+gcl (2.6.12-130) unstable; urgency=medium
+
+  * Version_2.6.13pre130
+
+ -- Camm Maguire <camm@debian.org>  Fri, 16 Dec 2022 12:41:29 -0500
+
+gcl (2.6.12-129) unstable; urgency=medium
+
+  * Version_2.6.13pre129
+
+ -- Camm Maguire <camm@debian.org>  Sun, 13 Nov 2022 07:55:14 -0500
+
+gcl (2.6.12-128) unstable; urgency=medium
+
+  * Version_2.6.13pre128
+
+ -- Camm Maguire <camm@debian.org>  Sat, 12 Nov 2022 11:02:31 -0500
+
+gcl (2.6.12-126) unstable; urgency=medium
+
+  * Version_2.6.13pre126
+
+ -- Camm Maguire <camm@debian.org>  Tue, 08 Nov 2022 19:43:41 -0500
+
+gcl (2.6.12-125) unstable; urgency=medium
+
+  * Version_2.6.13pre125
+
+ -- Camm Maguire <camm@debian.org>  Tue, 08 Nov 2022 15:33:25 -0500
+
+gcl (2.6.12-124) unstable; urgency=medium
+
+  * Version_2.6.13pre124
+
+ -- Camm Maguire <camm@debian.org>  Thu, 11 Aug 2022 13:16:42 -0400
+
+gcl (2.6.12-123) unstable; urgency=medium
+
+  * Version_2.6.13pre123
+
+ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 13:00:55 -0400
+
+gcl (2.6.12-122) unstable; urgency=medium
+
+  * Version_2.6.13pre122
+
+ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 11:50:22 -0400
+
+gcl (2.6.12-121) unstable; urgency=medium
+
+  * Version_2.6.13pre121
+
+ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 11:45:30 -0400
+
+gcl (2.6.12-120) unstable; urgency=medium
+
+  * Version_2.6.13pre120
+
+ -- Camm Maguire <camm@debian.org>  Sun, 07 Aug 2022 12:26:10 -0400
+
+gcl (2.6.12-119) unstable; urgency=medium
+
+  * Version_2.6.13pre119
+
+ -- Camm Maguire <camm@debian.org>  Sun, 31 Jul 2022 12:00:02 -0400
+
+gcl (2.6.12-118) unstable; urgency=medium
+
+  * Bug fix: "emacs dependency should be &quot;emacs | emacsen&quot;",
+    thanks to Adrian Bunk (Closes: #1006617).
+  * Bug fix: "Please remove dependency on install-info", thanks to
+    hille42@web.de</a>; (Closes: #1013691).
+  * Version_2.6.13pre118
+
+ -- Camm Maguire <camm@debian.org>  Tue, 12 Jul 2022 17:17:09 -0400
+
+gcl (2.6.12-117) unstable; urgency=medium
+
+  * Version_2.6.13pre114
+
+ -- Camm Maguire <camm@debian.org>  Sat, 25 Dec 2021 11:38:16 -0500
+
+gcl (2.6.12-116) unstable; urgency=medium
+
+  * Version_2.6.13pre113
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 Dec 2021 19:52:18 +0000
+
+gcl (2.6.12-115) unstable; urgency=medium
+
+  * Version_2.6.13pre112
+
+ -- Camm Maguire <camm@debian.org>  Fri, 17 Dec 2021 16:08:45 +0000
+
+gcl (2.6.12-114) unstable; urgency=medium
+
+  * Version_2.6.13pre111
+
+ -- Camm Maguire <camm@debian.org>  Thu, 16 Dec 2021 11:35:04 +0000
+
+gcl (2.6.12-113) unstable; urgency=medium
+
+  * Version_2.6.13pre110
+
+ -- Camm Maguire <camm@debian.org>  Thu, 16 Dec 2021 11:35:04 +0000
+
+gcl (2.6.12-112) unstable; urgency=medium
+
+  * Version_2.6.13pre109
+
+ -- Camm Maguire <camm@debian.org>  Wed, 15 Dec 2021 19:39:42 +0000
+
+gcl (2.6.12-111) unstable; urgency=medium
+
+  * Version_2.6.13pre108
+
+ -- Camm Maguire <camm@debian.org>  Thu, 11 Nov 2021 17:10:43 +0000
+
+gcl (2.6.12-110) unstable; urgency=medium
+
+  * Version_2.6.13pre107
+
+ -- Camm Maguire <camm@debian.org>  Thu, 11 Nov 2021 01:34:07 +0000
+
+gcl (2.6.12-109) unstable; urgency=medium
+
+  * Version_2.6.13pre106
+
+ -- Camm Maguire <camm@debian.org>  Wed, 10 Nov 2021 18:57:21 +0000
+
+gcl (2.6.12-108) unstable; urgency=medium
+
+  * Version_2.6.13pre105
+
+ -- Camm Maguire <camm@debian.org>  Tue, 09 Nov 2021 18:22:58 +0000
+
+gcl (2.6.12-107) unstable; urgency=medium
+
+  * Version_2.6.13pre103
+
+ -- Camm Maguire <camm@debian.org>  Tue, 09 Nov 2021 10:10:19 +0000
+
+gcl (2.6.12-106) unstable; urgency=medium
+
+  * Version_2.6.13pre102
+
+ -- Camm Maguire <camm@debian.org>  Thu, 04 Nov 2021 14:33:53 +0000
+
+gcl (2.6.12-105) unstable; urgency=medium
+
+  * Version_2.6.13pre101
+  * Bug fix: "fails to start with glibc 2.33", thanks to Andreas Kloeckner
+    (Closes: #995323).
+
+ -- Camm Maguire <camm@debian.org>  Sun, 10 Oct 2021 13:18:39 +0000
+
+gcl (2.6.12-104) unstable; urgency=medium
+
+  * Version_2.6.13pre100
+  * standardize cstack start address on 32bit arm
+
+ -- Camm Maguire <camm@debian.org>  Sun, 10 Oct 2021 12:44:51 +0000
+
+gcl (2.6.12-103) unstable; urgency=medium
+
+  * Bug fix: "Fails to install in unstable", thanks to Samuel Thibault
+    (Closes: #993480).
+
+ -- Camm Maguire <camm@debian.org>  Sat, 04 Sep 2021 19:23:26 +0000
+
+gcl (2.6.12-102) unstable; urgency=medium
+
+  * Version_2.6.13pre99
+  * Bug fix: "describe fails because gcl-si.info does not exist", thanks
+    to Leo Butler (Closes: #980003).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 29 Jan 2021 19:08:05 +0000
+
+gcl (2.6.12-101) unstable; urgency=medium
+
+  * Version_2.6.13pre98
+
+ -- Camm Maguire <camm@debian.org>  Sun, 17 Jan 2021 16:25:34 +0000
+
+gcl (2.6.12-100) unstable; urgency=medium
+
+  * Version_2.6.13pre97
+
+ -- Camm Maguire <camm@debian.org>  Fri, 04 Dec 2020 14:51:41 +0000
+
+gcl (2.6.12-99) unstable; urgency=medium
+
+  * Version_2.6.13pre95
+
+ -- Camm Maguire <camm@debian.org>  Sat, 28 Nov 2020 15:50:42 +0000
+
+gcl (2.6.12-98) unstable; urgency=medium
+
+  * Version_2.6.13pre94
+
+ -- Camm Maguire <camm@debian.org>  Tue, 29 Sep 2020 18:29:10 +0000
+
+gcl (2.6.12-97) unstable; urgency=medium
+
+  * Bug fix: "Removal of obsolete debhelper compat 5 and 6 in bookworm",
+    thanks to Niels Thykier (Closes: #965543).
+  * Version_2.6.13pre93
+
+ -- Camm Maguire <camm@debian.org>  Sat, 29 Aug 2020 16:23:07 +0000
+
+gcl (2.6.12-96) unstable; urgency=high
+
+  * Version_2.6.13pre92: Work around armhf strip bug producing undefined
+    instruction in .plt
+
+ -- Camm Maguire <camm@debian.org>  Sun, 23 Aug 2020 17:53:14 +0000
+
+gcl (2.6.12-95) unstable; urgency=high
+
+  * Version_2_6_13pre90
+  * build under GCL_MEM_MULTIPLE=0.1
+  * Bug fix: "FTBFS: Unrecoverable error: Segmentation violation..",
+    thanks to Lucas Nussbaum (Closes: #952334).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 01 May 2020 12:55:02 +0000
+
+gcl (2.6.12-94) unstable; urgency=medium
+
+  * re-release to overcome hopefully transient buildd failure
+
+ -- Camm Maguire <camm@debian.org>  Mon, 24 Feb 2020 20:02:52 +0000
+
+gcl (2.6.12-93) unstable; urgency=medium
+
+  * Version_2_6_13pre90
+
+ -- Camm Maguire <camm@debian.org>  Fri, 21 Feb 2020 19:06:56 +0000
+
+gcl (2.6.12-92) unstable; urgency=medium
+
+  * Version_2_6_13pre89
+
+ -- Camm Maguire <camm@debian.org>  Mon, 30 Dec 2019 15:46:22 +0000
+
+gcl (2.6.12-91) unstable; urgency=medium
+
+  * Version_2_6_13pre88
+
+ -- Camm Maguire <camm@debian.org>  Wed, 18 Dec 2019 20:14:09 +0000
+
+gcl (2.6.12-90) unstable; urgency=medium
+
+  * Version_2_6_13pre87
+  * latest standards
+
+ -- Camm Maguire <camm@debian.org>  Sun, 08 Dec 2019 19:27:24 +0000
+
+gcl (2.6.12-89) unstable; urgency=medium
+
+  * Bug fix: "gcl - FTBFS on ppc64el - invalid relocation type 31", thanks
+    to thierry.fauck@fr.ibm.com</a>; (Closes: #942312).
+  * Bug fix: "FTBFS on ppc64el", thanks to Ivo De Decker (Closes:
+    #944651).
+
+ -- Camm Maguire <camm@debian.org>  Sat, 07 Dec 2019 23:27:53 +0000
+
+gcl (2.6.12-88) unstable; urgency=medium
+
+  * Source only upload
+
+ -- Camm Maguire <camm@debian.org>  Fri, 11 Oct 2019 19:18:44 +0000
+
+gcl (2.6.12-87) unstable; urgency=medium
+
+  * Version_2_6_13pre84
+
+ -- Camm Maguire <camm@debian.org>  Sat, 06 Apr 2019 13:03:21 +0000
+
+gcl (2.6.12-86) unstable; urgency=medium
+
+  * Version_2_6_13pre83
+
+ -- Camm Maguire <camm@debian.org>  Tue, 02 Apr 2019 19:57:15 +0000
+
+gcl (2.6.12-85) unstable; urgency=medium
+
+  * Version_2_6_13pre82
+
+ -- Camm Maguire <camm@debian.org>  Thu, 28 Mar 2019 18:48:55 +0000
+
+gcl (2.6.12-84) unstable; urgency=medium
+
+  * Version_2_6_13pre80
+
+ -- Camm Maguire <camm@debian.org>  Thu, 21 Mar 2019 18:59:40 +0000
+
+gcl (2.6.12-83) unstable; urgency=high
+
+  * Version_2_6_13pre79
+  * Fix acl2 arm builds (Closes: #919477).
+
+ -- Camm Maguire <camm@debian.org>  Tue, 05 Feb 2019 21:54:42 +0000
+
+gcl (2.6.12-82) unstable; urgency=high
+
+  * Version_2_6_13pre74
+
+ -- Camm Maguire <camm@debian.org>  Sat, 02 Feb 2019 17:40:20 +0000
+
+gcl (2.6.12-81) unstable; urgency=high
+
+  * Version_2_6_13pre72
+  * Fix to ppc64el for acl2 FTBFS bug
+
+ -- Camm Maguire <camm@debian.org>  Mon, 21 Jan 2019 16:40:36 +0000
+
+gcl (2.6.12-80) unstable; urgency=medium
+
+  * Version_2_6_13pre71
+  * Bug fix: "FTBFS on hppa - segmentation fault assembling gbc.s", thanks
+    to John David Anglin (Closes: #912071).
+
+ -- Camm Maguire <camm@debian.org>  Tue, 30 Oct 2018 17:20:43 +0000
+
+gcl (2.6.12-79) unstable; urgency=medium
+
+  * Version_2_6_13pre70
+
+ -- Camm Maguire <camm@debian.org>  Mon, 29 Oct 2018 16:52:17 +0000
+
+gcl (2.6.12-78) unstable; urgency=medium
+
+  * rebuild against latest compilers and tools
+  * Version_2_6_13pre69
+
+ -- Camm Maguire <camm@debian.org>  Thu, 11 Oct 2018 16:40:48 +0000
+
+gcl (2.6.12-77) unstable; urgency=medium
+
+  * Version_2_6_13pre68
+  * Bug fix: "GCL fails to load .o files it generates", thanks to Gong-Yi
+    Liao (Closes: #902475).  Add support for R_X86_64_PLT32 relocs.
+
+ -- Camm Maguire <camm@debian.org>  Tue, 24 Jul 2018 20:06:45 +0000
+
+gcl (2.6.12-76) unstable; urgency=medium
+
+  * Version_2_6_13pre67
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Mar 2018 19:25:22 +0000
+
+gcl (2.6.12-75) unstable; urgency=medium
+
+  * Version_2_6_13pre65
+
+ -- Camm Maguire <camm@debian.org>  Wed, 21 Mar 2018 20:28:08 +0000
+
+gcl (2.6.12-74) unstable; urgency=medium
+
+  * Version_2_6_13pre63
+
+ -- Camm Maguire <camm@debian.org>  Sat, 17 Mar 2018 11:56:05 +0000
+
+gcl (2.6.12-73) unstable; urgency=medium
+
+  * Version_2_6_13pre62
+
+ -- Camm Maguire <camm@debian.org>  Wed, 14 Mar 2018 15:38:43 +0000
+
+gcl (2.6.12-72) unstable; urgency=medium
+
+  * Version_2_6_13pre61
+
+ -- Camm Maguire <camm@debian.org>  Tue, 13 Mar 2018 15:32:44 +0000
+
+gcl (2.6.12-71) unstable; urgency=medium
+
+  * Version_2_6_13pre60
+
+ -- Camm Maguire <camm@debian.org>  Mon, 12 Mar 2018 19:44:47 +0000
+
+gcl (2.6.12-70) unstable; urgency=medium
+
+  * Version_2_6_13pre59
+
+ -- Camm Maguire <camm@debian.org>  Mon, 12 Mar 2018 16:19:00 +0000
+
+gcl (2.6.12-69) unstable; urgency=medium
+
+  * Version_2_6_13pre58
+
+ -- Camm Maguire <camm@debian.org>  Fri, 09 Mar 2018 17:10:51 +0000
+
+gcl (2.6.12-68) unstable; urgency=medium
+
+  * Version_2_6_13pre57
+
+ -- Camm Maguire <camm@debian.org>  Sun, 04 Mar 2018 13:21:00 +0000
+
+gcl (2.6.12-67) unstable; urgency=medium
+
+  * Version_2_6_13pre55
+
+ -- Camm Maguire <camm@debian.org>  Sat, 03 Mar 2018 14:27:51 +0000
+
+gcl (2.6.12-66) unstable; urgency=medium
+
+  * Version_2_6_13pre54
+
+ -- Camm Maguire <camm@debian.org>  Fri, 02 Mar 2018 21:19:03 +0000
+
+gcl (2.6.12-65) unstable; urgency=medium
+
+  * Version_2_6_13pre52
+  * Bug fix: "FTBFS on hurd-i386", thanks to svante.signell@gmail.com</a>;
+    (Closes: #802593).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Feb 2018 15:55:23 +0000
+
+gcl (2.6.12-64) unstable; urgency=medium
+
+  * list_order.24
+
+ -- Camm Maguire <camm@debian.org>  Sun, 04 Feb 2018 13:26:27 +0000
+
+gcl (2.6.12-63) unstable; urgency=medium
+
+  * list_order.23
+
+ -- Camm Maguire <camm@debian.org>  Thu, 01 Feb 2018 18:36:29 +0000
+
+gcl (2.6.12-62) unstable; urgency=medium
+
+  * list_order.22
+
+ -- Camm Maguire <camm@debian.org>  Thu, 01 Feb 2018 01:05:10 +0000
+
+gcl (2.6.12-61) unstable; urgency=medium
+
+  * list_order.21
+
+ -- Camm Maguire <camm@debian.org>  Tue, 30 Jan 2018 21:13:13 +0000
+
+gcl (2.6.12-60) unstable; urgency=medium
+
+  * list_order.19
+
+ -- Camm Maguire <camm@debian.org>  Tue, 23 Jan 2018 18:11:59 +0000
+
+gcl (2.6.12-59) unstable; urgency=medium
+
+  * list_order.16
+
+ -- Camm Maguire <camm@debian.org>  Fri, 12 Jan 2018 03:25:08 +0000
+
+gcl (2.6.12-58) unstable; urgency=medium
+
+  * list_order.14
+
+ -- Camm Maguire <camm@debian.org>  Mon, 18 Sep 2017 15:45:10 +0000
+
+gcl (2.6.12-57) unstable; urgency=medium
+
+  * list_order.13
+
+ -- Camm Maguire <camm@debian.org>  Fri, 25 Aug 2017 13:44:10 +0000
+
+gcl (2.6.12-56) unstable; urgency=medium
+
+  * list_order.12
+
+ -- Camm Maguire <camm@debian.org>  Thu, 24 Aug 2017 19:12:50 +0000
+
+gcl (2.6.12-55) unstable; urgency=medium
+
+  * disable gprof on aarch64
+  * Bug fix: "gcl FTBFS on arm64: Unrecoverable error: Segmentation
+    violation..", thanks to Adrian Bunk (Closes: #873052).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 24 Aug 2017 16:37:07 +0000
+
+gcl (2.6.12-54) unstable; urgency=medium
+
+  * list_order.11
+
+ -- Camm Maguire <camm@debian.org>  Wed, 23 Aug 2017 22:19:14 +0000
+
+gcl (2.6.12-53) unstable; urgency=medium
+
+  * list_order.9
+
+ -- Camm Maguire <camm@debian.org>  Sun, 18 Jun 2017 18:32:30 +0000
+
+gcl (2.6.12-52) unstable; urgency=medium
+
+  * list_order.8
+
+ -- Camm Maguire <camm@debian.org>  Thu, 15 Jun 2017 18:04:41 +0000
+
+gcl (2.6.12-51) unstable; urgency=medium
+
+  * list_order.7
+
+ -- Camm Maguire <camm@debian.org>  Wed, 14 Jun 2017 18:30:46 +0000
+
+gcl (2.6.12-50) unstable; urgency=medium
+
+  * list_order.6
+
+ -- Camm Maguire <camm@debian.org>  Tue, 13 Jun 2017 22:38:52 +0000
+
+gcl (2.6.12-49) unstable; urgency=medium
+
+  * list_order.5
+
+ -- Camm Maguire <camm@debian.org>  Thu, 08 Jun 2017 17:21:01 +0000
+
+gcl (2.6.12-48) unstable; urgency=medium
+
+  * list_order.1
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 May 2017 01:42:29 +0000
+
+gcl (2.6.12-47) unstable; urgency=high
+
+  * pathnames1.13
+
+ -- Camm Maguire <camm@debian.org>  Tue, 22 Nov 2016 04:53:35 +0000
+
+gcl (2.6.12-46) unstable; urgency=high
+
+  * pathnames1.12
+  * Bug fix: "maintainer script(s) do not start on #!", thanks to
+    treinen@debian.org</a>; (Closes: #843303).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 18 Nov 2016 18:27:53 +0000
+
+gcl (2.6.12-45) unstable; urgency=high
+
+  * pathnames1.11
+
+ -- Camm Maguire <camm@debian.org>  Mon, 31 Oct 2016 22:57:27 +0000
+
+gcl (2.6.12-44) unstable; urgency=high
+
+  * pathnames1.9
+
+ -- Camm Maguire <camm@debian.org>  Fri, 28 Oct 2016 17:04:38 +0000
+
+gcl (2.6.12-43) unstable; urgency=medium
+
+  * pathnames1.7
+
+ -- Camm Maguire <camm@debian.org>  Thu, 27 Oct 2016 03:46:32 +0000
+
+gcl (2.6.12-42) unstable; urgency=medium
+
+  * pathnames1.6
+  * Bug fix: "FTBFS with bindnow and PIE enabled", thanks to Balint Reczey
+    (Closes: #837481).
+  * Bug fix: "FTBFS with compilers that default to -fPIE (patch
+    attached)", thanks to Adam Conrad (Closes: #822820).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 26 Oct 2016 23:04:57 +0000
+
+gcl (2.6.12-41) unstable; urgency=medium
+
+  * pathnames1.4, kfreebsd fix
+
+ -- Camm Maguire <camm@debian.org>  Fri, 14 Oct 2016 01:17:18 +0000
+
+gcl (2.6.12-40) unstable; urgency=medium
+
+  * pathnames1.2
+  * Bug fix: "popen arguments not quoted causes trouble and security
+    issues", thanks to axel (Closes: #802203).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 12 Oct 2016 18:09:26 +0000
+
+gcl (2.6.12-39) unstable; urgency=medium
+
+  * pathnames1.1
+  * ansi-test clean target
+
+ -- Camm Maguire <camm@debian.org>  Wed, 12 Oct 2016 01:32:05 +0000
+
+gcl (2.6.12-38) unstable; urgency=medium
+
+  * Version_2_6_13pre50
+
+ -- Camm Maguire <camm@debian.org>  Tue, 04 Oct 2016 19:45:38 +0000
+
+gcl (2.6.12-37) unstable; urgency=medium
+
+  * Version_2_6_13pre49
+
+ -- Camm Maguire <camm@debian.org>  Mon, 03 Oct 2016 14:54:09 +0000
+
+gcl (2.6.12-36) unstable; urgency=medium
+
+  * Version_2_6_13pre48
+
+ -- Camm Maguire <camm@debian.org>  Sat, 01 Oct 2016 12:10:25 +0000
+
+gcl (2.6.12-35) unstable; urgency=medium
+
+  * Version_2_6_13pre47
+
+ -- Camm Maguire <camm@debian.org>  Fri, 30 Sep 2016 21:21:43 +0000
+
+gcl (2.6.12-34) unstable; urgency=medium
+
+  * Version_2_6_13pre45
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Sep 2016 19:42:37 +0000
+
+gcl (2.6.12-33) unstable; urgency=medium
+
+  * Version_2_6_13pre43
+
+ -- Camm Maguire <camm@debian.org>  Tue, 03 May 2016 16:17:03 +0000
+
+gcl (2.6.12-32) unstable; urgency=medium
+
+  * Version_2_6_13pre40
+  * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates
+    translation", thanks to Adriano Rafael Gomes (Closes: #811523).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Apr 2016 15:18:35 +0000
+
+gcl (2.6.12-31) unstable; urgency=medium
+
+  * Version_2_6_13pre39
+
+ -- Camm Maguire <camm@debian.org>  Mon, 11 Apr 2016 00:41:11 +0000
+
+gcl (2.6.12-30) unstable; urgency=medium
+
+  * Version_2_6_13pre38
+
+ -- Camm Maguire <camm@debian.org>  Wed, 06 Apr 2016 00:20:15 +0000
+
+gcl (2.6.12-29) unstable; urgency=medium
+
+  * Version_2_6_13pre35; support latest binutils
+  * Bug fix: "gcl ftbfs on amd64 and i386 with binutils from
+    experimental", thanks to Matthias Klose (Closes: #803214).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 29 Oct 2015 15:20:27 +0000
+
+gcl (2.6.12-28) unstable; urgency=medium
+
+  * Version_2_6_13pre35; restore hppa build
+
+ -- Camm Maguire <camm@debian.org>  Tue, 27 Oct 2015 20:00:46 +0000
+
+gcl (2.6.12-27) unstable; urgency=medium
+
+  * Version_2_6_13pre34; mips64 relocs; stack saving tail-recursive equal.
+
+ -- Camm Maguire <camm@debian.org>  Tue, 27 Oct 2015 16:35:06 +0000
+
+gcl (2.6.12-26) unstable; urgency=medium
+
+  * Version_2_6_13pre32
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Oct 2015 00:03:34 +0000
+
+gcl (2.6.12-25) unstable; urgency=medium
+
+  * Version_2_6_13pre31, kfreebsd and mips64 FTBFS fix
+
+ -- Camm Maguire <camm@debian.org>  Fri, 16 Oct 2015 15:03:03 +0000
+
+gcl (2.6.12-24) unstable; urgency=medium
+
+  * Version_2_6_13pre30
+
+ -- Camm Maguire <camm@debian.org>  Fri, 16 Oct 2015 02:44:23 +0000
+
+gcl (2.6.12-23) unstable; urgency=medium
+
+  * Version_2_6_13pre29
+
+ -- Camm Maguire <camm@debian.org>  Thu, 15 Oct 2015 18:09:59 +0000
+
+gcl (2.6.12-22) unstable; urgency=medium
+
+  * Version_2_6_13pre27
+
+ -- Camm Maguire <camm@debian.org>  Tue, 13 Oct 2015 14:38:53 +0000
+
+gcl (2.6.12-21) unstable; urgency=medium
+
+  * Version_2_6_13pre26
+
+ -- Camm Maguire <camm@debian.org>  Wed, 07 Oct 2015 15:14:27 +0000
+
+gcl (2.6.12-20) unstable; urgency=medium
+
+  * Version_2_6_13pre25
+
+ -- Camm Maguire <camm@debian.org>  Thu, 01 Oct 2015 15:16:14 +0000
+
+gcl (2.6.12-19) unstable; urgency=medium
+
+  * Use-dpkg-buidflags-opt-levels-in-debian-rules, -O3 has bug in 5.2.1
+  * Version_2_6_13pre24
+
+ -- Camm Maguire <camm@debian.org>  Wed, 30 Sep 2015 15:45:20 +0000
+
+gcl (2.6.12-18) unstable; urgency=medium
+
+  * Version_2_6_13pre22
+
+ -- Camm Maguire <camm@debian.org>  Tue, 29 Sep 2015 16:51:03 +0000
+
+gcl (2.6.12-17) unstable; urgency=medium
+
+  * Version_2_6_13pre20
+
+ -- Camm Maguire <camm@debian.org>  Sat, 26 Sep 2015 10:34:23 -0400
+
+gcl (2.6.12-16) unstable; urgency=medium
+
+  * Version_2_6_13pre19
+
+ -- Camm Maguire <camm@debian.org>  Fri, 25 Sep 2015 18:39:52 -0400
+
+gcl (2.6.12-15) unstable; urgency=medium
+
+  * Version_2_6_13pre18
+
+ -- Camm Maguire <camm@debian.org>  Fri, 25 Sep 2015 15:08:50 +0000
+
+gcl (2.6.12-14) unstable; urgency=medium
+
+  * Version_2_6_13pre17
+
+ -- Camm Maguire <camm@debian.org>  Thu, 28 May 2015 03:37:47 +0000
+
+gcl (2.6.12-13) unstable; urgency=medium
+
+  * Version_2_6_13pre16
+
+ -- Camm Maguire <camm@debian.org>  Fri, 15 May 2015 18:09:38 +0000
+
+gcl (2.6.12-12) unstable; urgency=medium
+
+  * Version_2_6_13pre13
+
+ -- Camm Maguire <camm@debian.org>  Fri, 01 May 2015 11:08:46 -0400
+
+gcl (2.6.12-11) unstable; urgency=medium
+
+  * Version_2_6_13pre12
+
+ -- Camm Maguire <camm@debian.org>  Thu, 30 Apr 2015 12:49:16 -0400
+
+gcl (2.6.12-10) unstable; urgency=medium
+
+  * rebuild in clean sid environment
+
+ -- Camm Maguire <camm@debian.org>  Mon, 27 Apr 2015 15:34:15 -0400
+
+gcl (2.6.12-9) unstable; urgency=medium
+
+  * Version_2_6_13pre8b
+  * Bug fix: "ftbfs with GCC-5", thanks to Matthias Klose (Closes:
+    #777866).
+
+ -- Camm Maguire <camm@debian.org>  Mon, 27 Apr 2015 12:32:49 -0400
+
+gcl (2.6.12-8) unstable; urgency=medium
+
+  * Version_2_6_13pre7
+
+ -- Camm Maguire <camm@debian.org>  Fri, 24 Apr 2015 13:38:30 -0400
+
+gcl (2.6.12-7) unstable; urgency=medium
+
+  * Version_2_6_13pre6
+
+ -- Camm Maguire <camm@debian.org>  Thu, 23 Apr 2015 13:43:45 -0400
+
+gcl (2.6.12-6) unstable; urgency=medium
+
+  * Version_2_6_13pre5
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 Apr 2015 17:14:16 -0400
+
+gcl (2.6.12-5) unstable; urgency=medium
+
+  * Version_2_6_13pre4
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 Apr 2015 10:25:36 -0400
+
+gcl (2.6.12-4) unstable; urgency=medium
+
+  * Version_2_6_13pre3a
+
+ -- Camm Maguire <camm@debian.org>  Mon, 20 Apr 2015 13:26:36 -0400
+
+gcl (2.6.12-3) unstable; urgency=medium
+
+  * Version_2_6_13pre2
+
+ -- Camm Maguire <camm@debian.org>  Fri, 17 Apr 2015 15:50:37 -0400
+
+gcl (2.6.12-2) unstable; urgency=medium
+
+  * Version_2_6_13pre1
+
+ -- Camm Maguire <camm@debian.org>  Wed, 26 Nov 2014 11:12:46 -0500
+
+gcl (2.6.12-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Camm Maguire <camm@debian.org>  Tue, 28 Oct 2014 09:56:15 -0400
+
+gcl (2.6.11-6) unstable; urgency=medium
+
+  * 2.6.12pre5
+
+ -- Camm Maguire <camm@debian.org>  Thu, 23 Oct 2014 17:33:22 -0400
+
+gcl (2.6.11-5) unstable; urgency=medium
+
+  * 2.6.12pre4
+
+ -- Camm Maguire <camm@debian.org>  Sat, 18 Oct 2014 09:46:34 -0400
+
+gcl (2.6.11-4) unstable; urgency=medium
+
+  * 2.6.12pre3
+
+ -- Camm Maguire <camm@debian.org>  Thu, 16 Oct 2014 11:56:15 -0400
+
+gcl (2.6.11-3) unstable; urgency=medium
+
+  * 2.6.12pre2
+
+ -- Camm Maguire <camm@debian.org>  Sun, 28 Sep 2014 20:56:18 -0400
+
+gcl (2.6.11-2) unstable; urgency=medium
+
+  * 2.6.12pre1
+
+ -- Camm Maguire <camm@debian.org>  Fri, 19 Sep 2014 14:49:25 -0400
+
+gcl (2.6.11-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Camm Maguire <camm@debian.org>  Sat, 06 Sep 2014 12:28:46 -0400
+
+gcl (2.6.10-54) unstable; urgency=medium
+
+  * remove-debug-message-from-BUGGY_MAXIMUM_SSCANF_LENGTH-code
+
+ -- Camm Maguire <camm@debian.org>  Fri, 05 Sep 2014 10:35:46 -0400
+
+gcl (2.6.10-53) unstable; urgency=medium
+
+  * ppc64le-support-headers
+
+ -- Camm Maguire <camm@debian.org>  Wed, 03 Sep 2014 15:02:12 -0400
+
+gcl (2.6.10-52) unstable; urgency=medium
+
+  * accept-TMP-paths-with-types-versions
+
+ -- Camm Maguire <camm@debian.org>  Fri, 29 Aug 2014 17:51:04 -0400
+
+gcl (2.6.10-51) unstable; urgency=medium
+
+  * fix-match-function-proclaim-skew
+
+ -- Camm Maguire <camm@debian.org>  Fri, 29 Aug 2014 16:40:30 +0000
+
+gcl (2.6.10-50) unstable; urgency=medium
+
+  * trial_selinux_support
+
+ -- Camm Maguire <camm@debian.org>  Thu, 21 Aug 2014 17:29:50 +0000
+
+gcl (2.6.10-49) unstable; urgency=medium
+
+  * R_ARM_JUMP24
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Aug 2014 17:08:23 +0000
+
+gcl (2.6.10-48) unstable; urgency=medium
+
+  * try-SGC-for-aarch64
+
+ -- Camm Maguire <camm@debian.org>  Tue, 19 Aug 2014 18:35:22 +0000
+
+gcl (2.6.10-47) unstable; urgency=medium
+
+  * set-stack_guard-after-alloc-setup
+  * Bug fix: "work around build failure on AArch64", thanks to Matthias
+    Klose (Closes: #758101).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 14 Aug 2014 19:36:48 +0000
+
+gcl (2.6.10-46) unstable; urgency=medium
+
+  * R_AARCH64_LDST128_ABS_LO12_NC
+
+ -- Camm Maguire <camm@debian.org>  Wed, 13 Aug 2014 21:39:50 +0000
+
+gcl (2.6.10-45) unstable; urgency=medium
+
+  * fix sh4 CLEAR_CACHE
+
+ -- Camm Maguire <camm@debian.org>  Sun, 10 Aug 2014 20:12:03 +0000
+
+gcl (2.6.10-44) unstable; urgency=medium
+
+  * clear_protect_memory on all elf machines
+
+ -- Camm Maguire <camm@debian.org>  Sat, 09 Aug 2014 00:55:17 +0000
+
+gcl (2.6.10-43) unstable; urgency=medium
+
+  * mips uses builtin_clear_cache like mipsel
+
+ -- Camm Maguire <camm@debian.org>  Fri, 08 Aug 2014 23:42:42 +0000
+
+gcl (2.6.10-42) unstable; urgency=medium
+
+  * backport travel_push_new from master
+
+ -- Camm Maguire <camm@debian.org>  Wed, 06 Aug 2014 20:14:14 +0000
+
+gcl (2.6.10-41) unstable; urgency=medium
+
+  * protos and CFLAGS for axiom extensions
+
+ -- Camm Maguire <camm@debian.org>  Wed, 06 Aug 2014 01:54:38 +0000
+
+gcl (2.6.10-40) unstable; urgency=medium
+
+  * better solaris unexec fix
+
+ -- Camm Maguire <camm@debian.org>  Mon, 04 Aug 2014 22:00:54 +0000
+
+gcl (2.6.10-39) unstable; urgency=medium
+
+  * earlier prelink_init, phys_pages w/o malloc
+
+ -- Camm Maguire <camm@debian.org>  Mon, 04 Aug 2014 16:52:09 +0000
+
+gcl (2.6.10-38) unstable; urgency=medium
+
+  * error on overflow of array dimensions
+
+ -- Camm Maguire <camm@debian.org>  Fri, 01 Aug 2014 14:35:44 +0000
+
+gcl (2.6.10-37) unstable; urgency=medium
+
+  * FILE * casts for windows feof wrapper
+
+ -- Camm Maguire <camm@debian.org>  Thu, 31 Jul 2014 02:17:11 +0000
+
+gcl (2.6.10-36) unstable; urgency=medium
+
+  * better casts for frs_jmpbuf
+
+ -- Camm Maguire <camm@debian.org>  Wed, 30 Jul 2014 17:00:06 +0000
+
+gcl (2.6.10-35) unstable; urgency=medium
+
+  * find_sym_ptable typo fix
+
+ -- Camm Maguire <camm@debian.org>  Tue, 29 Jul 2014 18:08:57 +0000
+
+gcl (2.6.10-34) unstable; urgency=medium
+
+  * --enable-prelink configure arg; stack_chk_guard for 68k
+
+ -- Camm Maguire <camm@debian.org>  Fri, 25 Jul 2014 20:39:10 +0000
+
+gcl (2.6.10-33) unstable; urgency=medium
+
+  * hurd stack_guard, ppc64 C_GC_OFFSET
+
+ -- Camm Maguire <camm@debian.org>  Thu, 24 Jul 2014 21:46:24 +0000
+
+gcl (2.6.10-32) unstable; urgency=medium
+
+  * __stack_chk_guard fix for arm/sh4
+
+ -- Camm Maguire <camm@debian.org>  Wed, 23 Jul 2014 18:12:56 +0000
+
+gcl (2.6.10-31) unstable; urgency=medium
+
+  * dpkg-buildflags trial
+
+ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 20:06:10 +0000
+
+gcl (2.6.10-30) unstable; urgency=medium
+
+  * fix offsets ppc
+
+ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 17:12:27 +0000
+
+gcl (2.6.10-29) unstable; urgency=medium
+
+  * fix unexec file offsets
+
+ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 15:36:45 +0000
+
+gcl (2.6.10-28) unstable; urgency=high
+
+  * enable prelink
+
+ -- Camm Maguire <camm@debian.org>  Fri, 18 Jul 2014 19:24:38 +0000
+
+gcl (2.6.10-27) unstable; urgency=high
+
+  * protect closure calls from gc
+
+ -- Camm Maguire <camm@debian.org>  Wed, 16 Jul 2014 16:15:33 +0000
+
+gcl (2.6.10-26) unstable; urgency=high
+
+  * Bug fix: "packages should not build-depend on binutils-dev", thanks to
+    Matthias Klose (Closes: #754840).  Please note that gcl has long
+    depended on binutils-dev for good reason -- happily it is no longer
+    necessary
+
+ -- Camm Maguire <camm@debian.org>  Tue, 15 Jul 2014 16:04:04 +0000
+
+gcl (2.6.10-25) unstable; urgency=high
+
+  * rebuild to get gcc fixes on i386
+
+ -- Camm Maguire <camm@debian.org>  Fri, 11 Jul 2014 03:14:45 +0000
+
+gcl (2.6.10-24) unstable; urgency=high
+
+  * try default gcc 4.9
+  * access libopcodes without link dependency via dlopen
+  * Bug fix: "please switch to emacs24", thanks to Gabriele Giacone
+    (Closes: #754012).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 09 Jul 2014 17:34:21 +0000
+
+gcl (2.6.10-23) unstable; urgency=high
+
+  * rebuild latest binutils
+
+ -- Camm Maguire <camm@debian.org>  Sat, 05 Jul 2014 23:19:27 +0000
+
+gcl (2.6.10-22) unstable; urgency=high
+
+  * gcc-4.8 on i386, 4.9 has bugs at present
+
+ -- Camm Maguire <camm@debian.org>  Fri, 04 Jul 2014 01:36:06 +0000
+
+gcl (2.6.10-21) unstable; urgency=high
+
+  * 2.6.11pre test 20
+
+ -- Camm Maguire <camm@debian.org>  Mon, 30 Jun 2014 22:43:27 +0000
+
+gcl (2.6.10-20) unstable; urgency=high
+
+  * 2.6.11pre test 19
+
+ -- Camm Maguire <camm@debian.org>  Sun, 29 Jun 2014 17:59:59 +0000
+
+gcl (2.6.10-19) unstable; urgency=high
+
+  * 2.6.11pre test 18
+
+ -- Camm Maguire <camm@debian.org>  Sun, 29 Jun 2014 16:00:07 +0000
+
+gcl (2.6.10-18) unstable; urgency=high
+
+  * 2.6.11pre test 17
+
+ -- Camm Maguire <camm@debian.org>  Sat, 28 Jun 2014 16:57:54 +0000
+
+gcl (2.6.10-17) unstable; urgency=high
+
+  * 2.6.11pre test 16
+
+ -- Camm Maguire <camm@debian.org>  Thu, 26 Jun 2014 18:06:42 +0000
+
+gcl (2.6.10-16) unstable; urgency=high
+
+  * 2.6.11pre test 15
+
+ -- Camm Maguire <camm@debian.org>  Wed, 18 Jun 2014 17:37:36 +0000
+
+gcl (2.6.10-15) unstable; urgency=high
+
+  * 2.6.11pre test 14
+
+ -- Camm Maguire <camm@debian.org>  Tue, 17 Jun 2014 00:39:35 +0000
+
+gcl (2.6.10-14) unstable; urgency=high
+
+  * 2.6.11pre test 13
+
+ -- Camm Maguire <camm@debian.org>  Sat, 14 Jun 2014 13:43:57 +0000
+
+gcl (2.6.10-13) unstable; urgency=high
+
+  * 2.6.11pre test 12
+
+ -- Camm Maguire <camm@debian.org>  Tue, 20 May 2014 16:00:22 +0000
+
+gcl (2.6.10-12) unstable; urgency=high
+
+  * 2.6.11pre test 11
+
+ -- Camm Maguire <camm@debian.org>  Fri, 16 May 2014 17:41:33 +0000
+
+gcl (2.6.10-11) unstable; urgency=high
+
+  * 2.6.11pre test 10
+
+ -- Camm Maguire <camm@debian.org>  Fri, 16 May 2014 13:18:07 +0000
+
+gcl (2.6.10-10) unstable; urgency=high
+
+  * 2.6.11pre test 9
+
+ -- Camm Maguire <camm@debian.org>  Wed, 07 May 2014 17:10:30 +0000
+
+gcl (2.6.10-9) unstable; urgency=high
+
+  * 2.6.11pre test 8
+
+ -- Camm Maguire <camm@debian.org>  Fri, 25 Apr 2014 19:53:10 +0000
+
+gcl (2.6.10-8) unstable; urgency=high
+
+  * 2.6.11pre test 7
+
+ -- Camm Maguire <camm@debian.org>  Mon, 21 Apr 2014 14:09:37 +0000
+
+gcl (2.6.10-7) unstable; urgency=high
+
+  * 2.6.11pre test 6
+
+ -- Camm Maguire <camm@debian.org>  Sat, 19 Apr 2014 17:52:17 +0000
+
+gcl (2.6.10-6) unstable; urgency=high
+
+  * 2.6.11pre test 5
+
+ -- Camm Maguire <camm@debian.org>  Fri, 18 Apr 2014 15:06:09 +0000
+
+gcl (2.6.10-5) unstable; urgency=high
+
+  * 2.6.11pre test 4
+
+ -- Camm Maguire <camm@debian.org>  Tue, 15 Apr 2014 20:30:13 +0000
+
+gcl (2.6.10-4) unstable; urgency=high
+
+  * 2.6.11pre test 3
+  * Bug fix: "debian/rules uses DEB_BUILD_* macros instead of DEB_HOST_*
+    macros", thanks to Matthias Klose (Closes: #743520).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 09 Apr 2014 13:15:32 +0000
+
+gcl (2.6.10-3) unstable; urgency=high
+
+  * 2.6.11pre test 2
+
+ -- Camm Maguire <camm@debian.org>  Thu, 03 Apr 2014 14:24:23 +0000
+
+gcl (2.6.10-2) unstable; urgency=high
+
+  * 2.6.11pre test 1
+  * Bug fix: "FTBFS: gcl_readline.d:472:39: error: &#39;CPPFunction&#39;
+    undeclared (first use in this function)", thanks to David Suárez
+    (Closes: #741819).
+
+ -- Camm Maguire <camm@debian.org>  Mon, 24 Mar 2014 15:47:01 +0000
+
+gcl (2.6.10-1) unstable; urgency=high
+
+  * New upstream release
+
+ -- Camm Maguire <camm@debian.org>  Wed, 13 Nov 2013 18:39:19 +0000
+
+gcl (2.6.9-17) unstable; urgency=high
+
+  * 2.6.10pre test 17
+
+ -- Camm Maguire <camm@debian.org>  Mon, 11 Nov 2013 19:41:45 +0000
+
+gcl (2.6.9-16) unstable; urgency=high
+
+  * 2.6.10pre test 16
+  * Bug fix: "gcl 2.6.7+dfsga-20 needs 1 GB disk space on amd64", thanks
+    to Edi Meier (Closes: #714507).
+  * Bug fix: "[INTL:ja] New Japanese translation", thanks to victory
+    (Closes: #718925).
+
+ -- Camm Maguire <camm@debian.org>  Sat, 09 Nov 2013 13:34:32 +0000
+
+gcl (2.6.9-15) unstable; urgency=high
+
+  * 2.6.10pre test 15
+
+ -- Camm Maguire <camm@debian.org>  Sat, 02 Nov 2013 22:21:16 +0000
+
+gcl (2.6.9-14) unstable; urgency=high
+
+  * 2.6.10pre test 14
+
+ -- Camm Maguire <camm@debian.org>  Wed, 23 Oct 2013 17:44:14 +0000
+
+gcl (2.6.9-13) unstable; urgency=high
+
+  * environment allocation unrandomize.h
+
+ -- Camm Maguire <camm@debian.org>  Mon, 21 Oct 2013 00:20:16 +0000
+
+gcl (2.6.9-12) unstable; urgency=high
+
+  * 2.6.10pre test 13
+
+ -- Camm Maguire <camm@debian.org>  Fri, 18 Oct 2013 14:18:17 +0000
+
+gcl (2.6.9-11) unstable; urgency=high
+
+  * 2.6.10pre test 12, s390, mingw cleanup, make_bignum bug fix
+
+ -- Camm Maguire <camm@debian.org>  Tue, 15 Oct 2013 23:32:09 +0000
+
+gcl (2.6.9-10) unstable; urgency=high
+
+  * fast-fixnums
+
+ -- Camm Maguire <camm@debian.org>  Fri, 11 Oct 2013 15:05:58 +0000
+
+gcl (2.6.9-9) unstable; urgency=high
+
+  * 2.6.10pre test 10 and 11
+
+ -- Camm Maguire <camm@debian.org>  Wed, 02 Oct 2013 19:12:36 +0000
+
+gcl (2.6.9-8) unstable; urgency=high
+
+  * 2.6.10pre test 8 and 9
+
+ -- Camm Maguire <camm@debian.org>  Tue, 01 Oct 2013 21:00:19 +0000
+
+gcl (2.6.9-7) unstable; urgency=high
+
+  * 2.6.10pre test 6 and 7
+
+ -- Camm Maguire <camm@debian.org>  Mon, 30 Sep 2013 19:34:38 +0000
+
+gcl (2.6.9-6) unstable; urgency=high
+
+  * 2.6.10pre test 5
+
+ -- Camm Maguire <camm@debian.org>  Tue, 24 Sep 2013 17:03:24 +0000
+
+gcl (2.6.9-5) unstable; urgency=high
+
+  * 2.6.10pre test 4
+
+ -- Camm Maguire <camm@debian.org>  Mon, 23 Sep 2013 19:27:36 +0000
+
+gcl (2.6.9-4) unstable; urgency=high
+
+  * 2.6.10pre test 3
+
+ -- Camm Maguire <camm@debian.org>  Mon, 23 Sep 2013 16:30:09 +0000
+
+gcl (2.6.9-3) unstable; urgency=high
+
+  * 2.6.10pre test 2
+
+ -- Camm Maguire <camm@debian.org>  Sun, 22 Sep 2013 03:27:10 +0000
+
+gcl (2.6.9-2) unstable; urgency=high
+
+  * 2.6.10pre test
+
+ -- Camm Maguire <camm@debian.org>  Sat, 21 Sep 2013 04:14:55 +0000
+
+gcl (2.6.9-1) unstable; urgency=high
+
+  * New upstream release
+
+ -- Camm Maguire <camm@debian.org>  Wed, 28 Aug 2013 16:49:18 +0000
+
+gcl (2.6.7+dfsga-40) unstable; urgency=high
+
+  * fix allocate functions
+
+ -- Camm Maguire <camm@debian.org>  Tue, 06 Aug 2013 22:36:37 +0000
+
+gcl (2.6.7+dfsga-39) unstable; urgency=high
+
+  * lower initial contiguous and relblock allocations, set *ihs-top*
+    properly on startup, protect memory->cfd.cfd_start initialization from
+    gc
+
+ -- Camm Maguire <camm@debian.org>  Mon, 05 Aug 2013 17:38:22 +0000
+
+gcl (2.6.7+dfsga-38) unstable; urgency=high
+
+  * robustify near oom handling to fix axiom compile of EXPEXPAN on mips
+
+ -- Camm Maguire <camm@debian.org>  Fri, 02 Aug 2013 16:25:16 +0000
+
+gcl (2.6.7+dfsga-37) unstable; urgency=high
+
+  * ppc64 gprof fix
+
+ -- Camm Maguire <camm@debian.org>  Fri, 26 Jul 2013 23:40:14 +0000
+
+gcl (2.6.7+dfsga-36) unstable; urgency=high
+
+  * min_pagewidth=14 on mips
+
+ -- Camm Maguire <camm@debian.org>  Fri, 26 Jul 2013 02:20:56 +0000
+
+gcl (2.6.7+dfsga-35) unstable; urgency=high
+
+  * latest gcc on all platforms, no gprof ppc64, -O1 ia64, -O0 alpha
+
+ -- Camm Maguire <camm@debian.org>  Thu, 25 Jul 2013 14:42:48 +0000
+
+gcl (2.6.7+dfsga-34) unstable; urgency=high
+
+  * sgc link_array mark fix;rb_end across save fix;more stable gcc on older arches
+
+ -- Camm Maguire <camm@debian.org>  Tue, 23 Jul 2013 17:11:23 +0000
+
+gcl (2.6.7+dfsga-33) unstable; urgency=high
+
+  * fix mark_link_array for marked sLAlink_arrayA->s.s_dbind
+
+ -- Camm Maguire <camm@debian.org>  Mon, 22 Jul 2013 19:00:43 +0000
+
+gcl (2.6.7+dfsga-32) unstable; urgency=high
+
+  * protect mark_link_array in sgc
+
+ -- Camm Maguire <camm@debian.org>  Sat, 20 Jul 2013 00:16:07 +0000
+
+gcl (2.6.7+dfsga-31) unstable; urgency=high
+
+  * properly clean link array on gc
+
+ -- Camm Maguire <camm@debian.org>  Fri, 19 Jul 2013 20:34:34 +0000
+
+gcl (2.6.7+dfsga-30) unstable; urgency=high
+
+  * fix gcl.script compiler::link, darwin compile warnings
+
+ -- Camm Maguire <camm@debian.org>  Mon, 15 Jul 2013 20:35:03 +0000
+
+gcl (2.6.7+dfsga-29) unstable; urgency=high
+
+  * fix compiler::link in presence of gcl.script
+
+ -- Camm Maguire <camm@debian.org>  Mon, 15 Jul 2013 16:23:33 +0000
+
+gcl (2.6.7+dfsga-28) unstable; urgency=high
+
+  * install unixport/gcl.script
+
+ -- Camm Maguire <camm@debian.org>  Sat, 13 Jul 2013 18:42:28 +0000
+
+gcl (2.6.7+dfsga-27) unstable; urgency=high
+
+  * workaround for ia64 and hurd brk issues
+
+ -- Camm Maguire <camm@debian.org>  Fri, 12 Jul 2013 21:44:54 +0000
+
+gcl (2.6.7+dfsga-26) unstable; urgency=high
+
+  * -- command line support, map-shared in unexec
+
+ -- Camm Maguire <camm@debian.org>  Fri, 12 Jul 2013 00:52:35 +0000
+
+gcl (2.6.7+dfsga-25) unstable; urgency=high
+
+  * alpha, mips, 68k
+
+ -- Camm Maguire <camm@debian.org>  Wed, 10 Jul 2013 18:29:37 +0000
+
+gcl (2.6.7+dfsga-24) unstable; urgency=high
+
+  * sgc and reloc fixes
+
+ -- Camm Maguire <camm@debian.org>  Mon, 08 Jul 2013 13:56:33 +0000
+
+gcl (2.6.7+dfsga-23) unstable; urgency=high
+
+  * fix for maxima on kfbsd and sparc
+
+ -- Camm Maguire <camm@debian.org>  Wed, 03 Jul 2013 19:19:16 +0000
+
+gcl (2.6.7+dfsga-22) unstable; urgency=high
+
+  * fix stack definition issues on i386
+
+ -- Camm Maguire <camm@debian.org>  Tue, 02 Jul 2013 18:27:54 +0000
+
+gcl (2.6.7+dfsga-21) unstable; urgency=high
+
+  * near out of memory robustification
+
+ -- Camm Maguire <camm@debian.org>  Tue, 02 Jul 2013 15:32:58 +0000
+
+gcl (2.6.7+dfsga-20) unstable; urgency=high
+
+  * fix 3GB workaround for gprof
+
+ -- Camm Maguire <camm@debian.org>  Fri, 21 Jun 2013 11:09:01 -0400
+
+gcl (2.6.7+dfsga-19) unstable; urgency=high
+
+  * work around 3GB personality/alloca/malloc bug
+
+ -- Camm Maguire <camm@debian.org>  Fri, 21 Jun 2013 02:46:49 +0000
+
+gcl (2.6.7+dfsga-18) unstable; urgency=high
+
+  * alpha NULL_OR_ON_C_STACK, attempt to get 32 immfix space with
+    ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT personality, clean compile with no
+    immfix
+
+ -- Camm Maguire <camm@debian.org>  Thu, 20 Jun 2013 20:24:29 +0000
+
+gcl (2.6.7+dfsga-17) unstable; urgency=high
+
+  * small optimizations, #= nil fix
+
+ -- Camm Maguire <camm@debian.org>  Wed, 19 Jun 2013 16:23:27 +0000
+
+gcl (2.6.7+dfsga-16) unstable; urgency=high
+
+  * no linker script on hurd;fix OBJ_ALIGN
+
+ -- Camm Maguire <camm@debian.org>  Thu, 13 Jun 2013 15:35:00 +0000
+
+gcl (2.6.7+dfsga-15) unstable; urgency=high
+
+  * ia64 fix
+
+ -- Camm Maguire <camm@debian.org>  Thu, 13 Jun 2013 02:38:47 +0000
+
+gcl (2.6.7+dfsga-14) unstable; urgency=high
+
+  * eliminate maxpage/dbegin, restore windows and macosx builds
+
+ -- Camm Maguire <camm@debian.org>  Wed, 12 Jun 2013 21:42:29 +0000
+
+gcl (2.6.7+dfsga-13) unstable; urgency=low
+
+  * ia64/hurd/s390 and SGC
+
+ -- Camm Maguire <camm@debian.org>  Sun, 09 Jun 2013 00:23:51 +0000
+
+gcl (2.6.7+dfsga-12) unstable; urgency=low
+
+  * ia64/hurd/s390
+
+ -- Camm Maguire <camm@debian.org>  Sat, 08 Jun 2013 15:24:46 +0000
+
+gcl (2.6.7+dfsga-11) unstable; urgency=high
+
+  * 2.6.9 test
+
+ -- Camm Maguire <camm@debian.org>  Fri, 07 Jun 2013 21:46:41 +0000
+
+gcl (2.6.7+dfsga-10) unstable; urgency=high
+
+  * output mips make bug text to stderr
+
+ -- Camm Maguire <camm@debian.org>  Sat, 25 May 2013 12:24:35 +0000
+
+gcl (2.6.7+dfsga-9) unstable; urgency=high
+
+  * mips make bug workaround
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 May 2013 14:23:43 +0000
+
+gcl (2.6.7+dfsga-8) unstable; urgency=high
+
+  * revert doubled default maxpage
+  * export *read-eval*
+
+ -- Camm Maguire <camm@debian.org>  Tue, 21 May 2013 14:42:05 +0000
+
+gcl (2.6.7+dfsga-7) unstable; urgency=high
+
+  * export ansi symbols
+
+ -- Camm Maguire <camm@debian.org>  Sat, 11 May 2013 21:36:56 +0000
+
+gcl (2.6.7+dfsga-6) unstable; urgency=high
+
+  * fast hash-equal in compiler
+
+ -- Camm Maguire <camm@debian.org>  Sat, 11 May 2013 19:11:42 +0000
+
+gcl (2.6.7+dfsga-5) unstable; urgency=high
+
+  * Bug fix: "FTBFS: cp: cannot stat
+    &#39;debian/tmp/usr/share/info/gcl-si.info&#39;: No such file or
+    directory", thanks to Lucas Nussbaum (Closes: #707490).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 10 May 2013 18:09:14 +0000
+
+gcl (2.6.7+dfsga-4) unstable; urgency=high
+
+  * sgc-on fix with latest gcc
+
+ -- Camm Maguire <camm@debian.org>  Tue, 23 Apr 2013 18:45:11 +0000
+
+gcl (2.6.7+dfsga-3) unstable; urgency=high
+
+  * hash depth bug fix
+  * new s390 reloc
+
+ -- Camm Maguire <camm@debian.org>  Thu, 24 Jan 2013 19:46:30 +0000
+
+gcl (2.6.7+dfsga-2) unstable; urgency=high
+  
+  * more arm relocs supported;check default timezone dynamically;follow
+    bash ~ semantics in user-homedir-pathname
+
+ -- Camm Maguire <camm@debian.org>  Mon, 21 Jan 2013 18:41:06 +0000
+
+gcl (2.6.7+dfsga-1) unstable; urgency=high
+
+  * Acknowledge Non-maintainer upload. 
+  (thanks David Prévot <taffit@debian.org>) 
+  * Remove unused and non DFSG-compliant gmp3/gmp.* from source. 
+  (Closes: #695721)
+  * Show translated debconf templates, thanks to Denis Barbier for the
+    analysis and the proposed fixes. (Closes: #691946)
+  * trim excess digits from printed floats
+
+ -- Camm Maguire <camm@debian.org>  Tue, 15 Jan 2013 20:46:25 +0000
+
+gcl (2.6.7-108) unstable; urgency=high
+
+  * Depend on emacs23 | emacsen to allow wheezy propagation
+
+ -- Camm Maguire <camm@debian.org>  Mon, 08 Oct 2012 18:08:36 +0000
+
+gcl (2.6.7-107) unstable; urgency=high
+
+  * mode 644 on ucf newfile
+
+ -- Camm Maguire <camm@debian.org>  Wed, 03 Oct 2012 20:38:43 +0000
+
+gcl (2.6.7-106) unstable; urgency=high
+
+  * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
+    thanks to Andreas Beckmann (Closes: #688201).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 03 Oct 2012 16:52:10 +0000
+
+gcl (2.6.7-105) unstable; urgency=high
+
+  * restore #DEBHELPER# to postinst and postrm scripts
+
+ -- Camm Maguire <camm@debian.org>  Mon, 01 Oct 2012 17:31:43 +0000
+
+gcl (2.6.7-104) unstable; urgency=high
+
+  * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
+    thanks to Andreas Beckmann (Closes: #688201).
+
+ -- Camm Maguire <camm@debian.org>  Mon, 01 Oct 2012 15:32:52 +0000
+
+gcl (2.6.7-103) unstable; urgency=high
+
+  * sfaslelf.c: FIX_HIDDEN_SYMBOLS
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 Aug 2012 15:13:12 +0000
+
+gcl (2.6.7-102) unstable; urgency=high
+
+  * Fix hash key distribution bug, bitvector equal bug
+  * distinguish car position in equal-hash of lists
+
+ -- Camm Maguire <camm@debian.org>  Mon, 20 Aug 2012 17:33:26 +0000
+
+gcl (2.6.7-101) unstable; urgency=high
+
+  * add alpha, ppc, ppc64, and ia64 to __builtin__clear_cache exception
+    list as per gcc maintainers
+  * lintian cleanups
+
+ -- Camm Maguire <camm@debian.org>  Sat, 05 May 2012 23:18:56 +0000
+
+gcl (2.6.7-100) unstable; urgency=high
+
+  * nil case keylist support
+  * Bug fix: "[INTL:da] Danish translation of the debconf templates gcl",
+    thanks to Joe Dalton (Closes: #666528).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 20 Apr 2012 02:25:26 +0000
+
+gcl (2.6.7-99) unstable; urgency=low
+
+  * case default error checking
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Mar 2012 14:14:44 +0000
+
+gcl (2.6.7-98) unstable; urgency=low
+
+  * restore traditional make-sequence,make-array, and coerce, and
+    optimize replace, as 2.6.8 compiler is still too weak re: inlines
+
+ -- Camm Maguire <camm@debian.org>  Fri, 20 Jan 2012 19:55:45 +0000
+
+gcl (2.6.7-97) unstable; urgency=low
+
+  * evade __builtin___clear_cache on hppa
+  * make-array;make-sequence;replace;coerce
+
+ -- Camm Maguire <camm@debian.org>  Fri, 20 Jan 2012 05:13:22 +0000
+
+gcl (2.6.7-96) unstable; urgency=low
+
+  * better XDR detection; no __builtin_clear_cache on sh4
+
+ -- Camm Maguire <camm@debian.org>  Wed, 18 Jan 2012 01:32:43 +0000
+
+gcl (2.6.7-95) unstable; urgency=low
+
+  * clear_cache after mprotect
+
+ -- Camm Maguire <camm@debian.org>  Tue, 17 Jan 2012 03:54:56 +0000
+
+gcl (2.6.7-94) unstable; urgency=low
+
+  * optimize unwind at O0 to workaround gcc bug; centralize on
+    __builtin__clear_cache when available;arm_thm_call reloc support
+
+ -- Camm Maguire <camm@debian.org>  Mon, 16 Jan 2012 20:10:07 +0000
+
+gcl (2.6.7-93) unstable; urgency=low
+
+  * remove C_GC_OFFSET for sparc64
+  * remove ncurses dependency for readline
+  * Bug fix: "FTBFS: dpkg-buildpackage: error: dpkg-source -b gcl-2.6.7
+    gave error exit status 2", thanks to Didier Raboud (Closes: #643131).
+  * Bug fix: "drops readline support if rebuilt", thanks to Sven Joachim
+    (Closes: #646735).
+  * lower opts on sparc64 asof gcc 4.6.1
+
+ -- Camm Maguire <camm@debian.org>  Wed, 11 Jan 2012 21:04:23 +0000
+
+gcl (2.6.7-92) unstable; urgency=low
+
+  * remove gprof on arm as mcount calls are 24/22bit -- marginally
+    accessible
+
+ -- Camm Maguire <camm@debian.org>  Sat, 07 Jan 2012 02:42:06 +0000
+
+gcl (2.6.7-91) unstable; urgency=low
+
+  * s390x reloc support
+  * lower C optimization on ia64, arm and mips for now
+
+ -- Camm Maguire <camm@debian.org>  Thu, 05 Jan 2012 17:30:01 +0000
+
+gcl (2.6.7-90) unstable; urgency=low
+
+  * libtirpc check for newest glibc
+  * read_preserving_whitespace fix
+  * armhf reloc support
+  * s390x support
+  * try C_GC_OFFSET for sparc64
+
+ -- Camm Maguire <camm@debian.org>  Wed, 04 Jan 2012 19:51:13 +0000
+
+gcl (2.6.7-89) unstable; urgency=low
+
+  * support new mips relocs
+  * lower opt to work around gcc 4.6 bug on arm
+
+ -- Camm Maguire <camm@debian.org>  Wed, 11 May 2011 20:06:04 +0000
+
+gcl (2.6.7-88) unstable; urgency=low
+
+  * Bug fix: "FTBFS: gcl_arraylib.c:4:42: error: &#39;VV&#39; undeclared
+    (first use in this function)", thanks to Lucas Nussbaum (Closes:
+    #625032).
+
+ -- Camm Maguire <camm@debian.org>  Mon, 09 May 2011 16:00:21 +0000
+
+gcl (2.6.7-87) unstable; urgency=low
+
+  * mips reloc fix;configure default dlopen fix;clean rules and makefiles
+
+ -- Camm Maguire <camm@debian.org>  Fri, 05 Nov 2010 13:29:05 +0000
+
+gcl (2.6.7-86) unstable; urgency=low
+
+  * remove binutils subdir, configure and make changes
+
+ -- Camm Maguire <camm@debian.org>  Thu, 04 Nov 2010 17:55:48 +0000
+
+gcl (2.6.7-85) unstable; urgency=low
+
+  * fix mips relocs for non-static clines
+
+ -- Camm Maguire <camm@debian.org>  Tue, 02 Nov 2010 13:56:40 +0000
+
+gcl (2.6.7-84) unstable; urgency=low
+
+  * better mips relocs, fix link on mingw32
+
+ -- Camm Maguire <camm@debian.org>  Sat, 30 Oct 2010 00:07:39 +0000
+
+gcl (2.6.7-83) unstable; urgency=low
+
+  * fix alpha stubs; fix sparc64 typo; print armhf relocs
+
+ -- Camm Maguire <camm@debian.org>  Thu, 28 Oct 2010 13:43:16 +0000
+
+gcl (2.6.7-82) unstable; urgency=low
+
+  * mips64 fixes
+
+ -- Camm Maguire <camm@debian.org>  Tue, 26 Oct 2010 18:20:04 +0000
+
+gcl (2.6.7-81) unstable; urgency=low
+
+  * sparc64;mips64
+
+ -- Camm Maguire <camm@debian.org>  Tue, 26 Oct 2010 03:33:52 +0000
+
+gcl (2.6.7-80) unstable; urgency=low
+
+  * alpha stubs; sgc mips kernel bug test; mips GPREL32 reloc
+
+ -- Camm Maguire <camm@debian.org>  Mon, 25 Oct 2010 19:52:51 +0000
+
+gcl (2.6.7-79) unstable; urgency=low
+
+  * mips ld_bind_now, disable sgc workaround mips SIGBUS bug
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Oct 2010 15:31:59 +0000
+
+gcl (2.6.7-78) unstable; urgency=low
+
+  * mips local got relocs
+
+ -- Camm Maguire <camm@debian.org>  Tue, 12 Oct 2010 17:15:35 +0000
+
+gcl (2.6.7-77) unstable; urgency=low
+
+  * workaround gcc alpha bug
+  * fix alpha reloc
+
+ -- Camm Maguire <camm@debian.org>  Fri, 01 Oct 2010 21:25:11 +0000
+
+gcl (2.6.7-76) unstable; urgency=low
+
+  * fix page_multiple usage for runtime pagesize variance and stable mipsel builds
+  * sparc64 support
+
+ -- Camm Maguire <camm@debian.org>  Fri, 01 Oct 2010 19:18:47 +0000
+
+gcl (2.6.7-75) unstable; urgency=low
+
+  * fix alpha bug
+
+ -- Camm Maguire <camm@debian.org>  Tue, 28 Sep 2010 20:23:21 +0000
+
+gcl (2.6.7-74) unstable; urgency=low
+
+  * fix alpha relocs for axiom
+
+ -- Camm Maguire <camm@debian.org>  Tue, 28 Sep 2010 16:07:38 +0000
+
+gcl (2.6.7-73) unstable; urgency=low
+
+  * sparc reloc updates
+  * fast-link fix
+
+ -- Camm Maguire <camm@debian.org>  Fri, 24 Sep 2010 19:23:16 +0000
+
+gcl (2.6.7-72) unstable; urgency=low
+
+  * remove unused symbols from gcl_cmpopt.lsp
+  * reloc updates
+  * clear gcc warning
+  * default tilde expansion to HOME env in absence of passwd
+  * configure typo fix
+
+ -- Camm Maguire <camm@debian.org>  Wed, 22 Sep 2010 19:32:52 +0000
+
+gcl (2.6.7-71) unstable; urgency=low
+
+  * print sparc64 relocs
+
+ -- Camm Maguire <camm@debian.org>  Sat, 28 Aug 2010 14:50:00 +0000
+
+gcl (2.6.7-70) unstable; urgency=low
+
+  * sparc64/m68k
+
+ -- Camm Maguire <camm@debian.org>  Fri, 27 Aug 2010 16:54:11 +0000
+
+gcl (2.6.7-69) unstable; urgency=low
+
+  * Bug fix: "non-standard gcc/g++ used for build (gcc-4.3)", thanks to
+    Matthias Klose (Closes: #594280).
+
+ -- Camm Maguire <camm@debian.org>  Thu, 26 Aug 2010 19:08:39 +0000
+
+gcl (2.6.7-68) unstable; urgency=low
+
+  * ppc/mips elf reloc fixes
+
+ -- Camm Maguire <camm@debian.org>  Mon, 23 Aug 2010 20:54:30 +0000
+
+gcl (2.6.7-67) unstable; urgency=low
+
+  * Fix compiler::link ansi combo
+
+ -- Camm Maguire <camm@debian.org>  Sat, 21 Aug 2010 02:05:37 +0000
+
+gcl (2.6.7-66) unstable; urgency=low
+
+  * ppc autobuild fix
+  * Bug fix: "FTBFS: sfasli.c:139: error: invalid initializer", thanks to
+    Lucas Nussbaum (Closes: #593037).
+  * Bug fix: "FTBFS on powerpc: Error: The function TK::GET-AUTOLOADS is
+    undefined.", thanks to Mehdi Dogguy (Closes: #593191).
+
+ -- Camm Maguire <camm@debian.org>  Fri, 20 Aug 2010 01:25:09 +0000
+
+gcl (2.6.7-65) unstable; urgency=low
+
+  * autobuilder fixes
+
+ -- Camm Maguire <camm@debian.org>  Sat, 14 Aug 2010 11:30:46 +0000
+
+gcl (2.6.7-64) unstable; urgency=low
+
+  * configure fix
+
+ -- Camm Maguire <camm@debian.org>  Fri, 13 Aug 2010 23:26:07 +0000
+
+gcl (2.6.7-63) unstable; urgency=low
+
+  * macosx support, ppc, i386 and x86_64 -- sfaslmacho.c
+  * windows/wine support -- sfaslcoff.c
+  * better custreloc support obviating my_plt -- sfaslelf.c
+  * debian default custreloc build where supported, all but ia64 and hppa
+  * fix mingw/wine path issues
+
+ -- Camm Maguire <camm@debian.org>  Fri, 13 Aug 2010 16:08:49 +0000
+
+gcl (2.6.7-62) unstable; urgency=high
+
+  * more stable sgc detection via h/tsgc.h
+  * fix plt.h bug on hppa
+  * sublis1-inline fix for acl2
+
+ -- Camm Maguire <camm@debian.org>  Mon, 26 Jul 2010 16:03:54 +0000
+
+gcl (2.6.7-61) unstable; urgency=high
+
+  * mac osx support
+  * fix undef sgc bug in cmpinclude.h
+
+ -- Camm Maguire <camm@debian.org>  Tue, 20 Jul 2010 14:50:19 +0000
+
+gcl (2.6.7-60) unstable; urgency=high
+
+  * fix sh4 support
+
+ -- Camm Maguire <camm@debian.org>  Thu, 29 Apr 2010 18:09:04 +0000
+
+gcl (2.6.7-59) unstable; urgency=high
+
+  * fix hurd support
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Apr 2010 17:12:54 +0000
+
+gcl (2.6.7-58) unstable; urgency=high
+
+  * hurd support
+  * sh4 support
+
+ -- Camm Maguire <camm@debian.org>  Fri, 23 Apr 2010 05:09:29 +0000
+
+gcl (2.6.7-57) unstable; urgency=high
+
+  * static function pointer wrapper for gcl_gmp_allocfun, stabilizing gmp
+    on hppa/ia64
+
+ -- Camm Maguire <camm@debian.org>  Mon, 12 Apr 2010 22:28:41 +0000
+
+gcl (2.6.7-56) unstable; urgency=high
+
+  * __builtin___clear_cache on arm
+  * gcc-4.3 on alpha
+
+ -- Camm Maguire <camm@debian.org>  Thu, 28 Jan 2010 00:32:16 +0000
+
+gcl (2.6.7-55) unstable; urgency=low
+
+  * SGC fix, debian override fix, xgcl update
+  * SGC fix for relocatable and contiguous gmp storage
+  * configure fix for arm and hppa
+
+ -- Camm Maguire <camm@debian.org>  Tue, 26 Jan 2010 19:43:08 +0000
+
+gcl (2.6.7-54) unstable; urgency=low
+
+  * robustify user_match, unrandomize, read-char-no-hang for sockets
+  * SA_SIGINFO for 386-linux
+  * if cmpinclude.h is not available, use *cmpinclude-string* in compiler-pass2
+
+ -- Camm Maguire <camm@debian.org>  Wed, 20 Jan 2010 19:02:28 +0000
+
+gcl (2.6.7-53) unstable; urgency=low
+
+  * revert round ratio to nearest
+
+ -- Camm Maguire <camm@debian.org>  Tue, 05 Jan 2010 03:06:59 +0000
+
+gcl (2.6.7-52) unstable; urgency=low
+
+  * SIGINFO for kfreebsd-386
+
+ -- Camm Maguire <camm@debian.org>  Mon, 04 Jan 2010 17:49:05 +0000
+
+gcl (2.6.7-51) unstable; urgency=low
+
+  * user_match exscapes once only
+
+ -- Camm Maguire <camm@debian.org>  Sun, 03 Jan 2010 05:31:20 +0000
+
+gcl (2.6.7-50) unstable; urgency=low
+
+  * gcc 4.4 warning cleanups
+
+ -- Camm Maguire <camm@debian.org>  Thu, 31 Dec 2009 20:43:39 +0000
+
+gcl (2.6.7-49) unstable; urgency=low
+
+  * Bug fix: "/bin/sh: line 6: /bin/gcl: Permission denied", thanks to
+    Nobuhiro Iwamatsu (Closes: #561554).
+
+ -- Camm Maguire <camm@debian.org>  Wed, 30 Dec 2009 23:04:39 +0000
+
+gcl (2.6.7-48) unstable; urgency=low
+
+  * round to nearest in ratio to double
+
+ -- Camm Maguire <camm@debian.org>  Wed, 16 Dec 2009 15:01:55 +0000
+
+gcl (2.6.7-47) unstable; urgency=low
+
+  * Bug fix: "configure: error: Need zlib for bfd linking", thanks to
+    Cyril Brulebois (Closes: #560761).
+  * Bug fix: "Disfunctional maintainer address", thanks to Joerg Jaspert
+    (Closes: #560752).
+
+ -- Camm Maguire <camm@debian.org>  Mon, 14 Dec 2009 19:06:45 +0000
+
+gcl (2.6.7-46) unstable; urgency=low
+
+  * support newer binutils with output_bfd element
+  * Fix 64bit interrupt bug
+  * reader error fix
+  * Ensure plt entries are not blank
+  * plt table reading fix
+  * Bug fix: "FTBFS: current binutils static libs need -lz", thanks to
+    Daniel Schepler (Closes: #521929).
+  * Bug fix: "replacing libreadline5-dev build dependency with
+    libreadline-dev", thanks to Matthias Klose (Closes: #553761).
+  * Bug fix: "crash after ctrl-C", thanks to Miroslaw Kwasniak (Closes:
+    #519903).
+  * Bug fix: "FTBFS with binutils-gold", thanks to Peter Fritzsche
+    (Closes: #554418). -ldl added to bfd linker args
+  * Bug fix: "[INTL:es] Spanish debconf template translation for gcl",
+    thanks to Francisco Javier Cuadrado (Closes: #508728).
+  * Bug fix: "[INTL:it] Italian translation", thanks to Vincenzo
+    Campanella (Closes: #560364).
+  * gcc error/warning cleanups
+  * fix plt table awk
+
+ -- Camm Maguire <camm@debian.org>  Fri, 11 Dec 2009 17:45:14 +0000
+
+gcl (2.6.7-45) unstable; urgency=high
+
+  * proper word order detection macro, fixes armel
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 01 Sep 2008 13:48:16 +0000
+
+gcl (2.6.7-44) unstable; urgency=high
+
+  * backoff on arm opts
+  * more careful handling of GCL_GPROF_START
+
+ -- Camm Maguire <camm@maguirefamily.org>  Sat, 23 Aug 2008 21:28:52 +0000
+
+gcl (2.6.7-43) unstable; urgency=low
+
+  * redo unrandomize.h to enable compilation under -O2 -- FIXME; Closes: 494153
+
+ -- Camm Maguire <camm@maguirefamily.org>  Wed, 20 Aug 2008 21:18:43 +0000
+
+gcl (2.6.7-42) unstable; urgency=low
+
+  * more div/rem symbols for alpha
+
+ -- Camm Maguire <camm@sacrifice.m.enhanced.com>  Sun, 03 Aug 2008 11:18:51 +0000
+
+gcl (2.6.7-41) unstable; urgency=low
+
+  * more div/rem symbols for arm and hppa
+
+ -- Camm Maguire <camm@sacrifice.m.enhanced.com>  Sat, 02 Aug 2008 00:36:07 +0000
+
+gcl (2.6.7-40) unstable; urgency=low
+
+  * default gcc with pic enabled on mips/mipsel
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 01 Aug 2008 13:28:00 -0400
+
+gcl (2.6.7-39) unstable; urgency=high
+
+  * gcc 4.2 for mips/mipsel for now
+  * __divdi3 et. al. symbols for ia64 and arm
+  * clean some compiler warnings
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 01 Aug 2008 12:53:07 -0400
+
+gcl (2.6.7-38) unstable; urgency=low
+
+  * No infinite unrandomization loops
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Jul 2008 15:18:37 -0400
+
+gcl (2.6.7-37) unstable; urgency=low
+
+  * Non-maintainer upload to fix pending l10n issues
+  * Debconf templates and debian/control reviewed by the debian-l10n-
+    english team as part of the Smith review project. Closes: #457025
+  * [Debconf translation updates]
+    - Portuguese. Closes: #457576
+    - Czech. Closes: #457677
+    - French. Closes: #458120
+    - Finnish. Closes: #458255
+    - Galician. Closes: #458529
+    - Vietnamese. Closes: #459008
+    - Russian. Closes: #459308
+    - Dutch. Closes: #459541
+    - German. Closes: #459887
+  * [Lintian] Correct FSF address in debian/copyright
+  * [Lintian] Remove extra whitespaces at the end of
+    debian/in.gcl-doc.doc-base.tk
+  * [Lintian] Correct section in doc-base documents from Apps/Programming
+    to Programming
+  * Accept NMU
+  * Bug fix: "[INTL:sv] po-debconf file for gcl", thanks to Martin Ågren
+    (Closes: #492241).
+  * Bug fix: "gcl: FTBFS [amd64]: cannot trap sbrk", thanks to Daniel
+    Schepler (Closes: #487435).  Modified and applied personality handling
+    patch.
+  * Bug fix: "gcl: Builds broken package with gcc-4.3", thanks to Daniel
+    Schepler (Closes: #467474).  Added sincos to plttest.c
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Jul 2008 15:18:15 -0400
+
+gcl (2.6.7-36) unstable; urgency=low
+
+  * statsysbfd in Debian, incoporating modules into libgcl.a for
+    compiler::link support
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 30 Nov 2007 12:03:31 -0500
+
+gcl (2.6.7-35) unstable; urgency=low
+
+  * drop gcc-3.4 on arm, Closes: #440421
+  * Depend on emacs22 | emacsen, Closes: #440190
+  * debconf translations Closes: #410683, Closes: #419736, Closes: #423706, Closes: #441408
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 23 Nov 2007 10:25:23 -0500
+
+gcl (2.6.7-34) unstable; urgency=low
+
+  * add read-byte,read-sequence,write-byte,write-sequence support
+  * fix some float parsing inaccuracies
+  * support GNU_HASH sections, Closes: #426135
+  * safety 2 for certain low level functions in gcl_listlib.lsp, CLoses:
+    #415266
+
+ -- Camm Maguire <camm@enhanced.com>  Wed,  4 Jul 2007 16:23:25 -0400
+
+gcl (2.6.7-33) unstable; urgency=low
+
+  * Fix leading underscore behavior of my_plt
+  * add sqrt to plttest.c
+  * disable-nls added to the binutils subconfigures to avoid msgfmt
+    dependency
+  * remove -lintl from powerpc-macosx.defs
+  * update to make-user-init from cvs head to support hol88, fix link on
+    mingw
+  * solaris-i386 support
+  * fix read-char-no-hang on mingw
+  * fast compile without wrap-literals
+  * sigaltstack support
+  * fix cerror
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 16 May 2007 12:45:40 -0400
+
+gcl (2.6.7-32) unstable; urgency=low
+
+  * static function pointers for hppa
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 29 Oct 2006 02:15:13 -0500
+
+gcl (2.6.7-31) unstable; urgency=low
+
+  * no C optimization on hppa, gcc 4.x on hppa
+  * update cs.po, Closes: #389211
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 27 Oct 2006 13:06:55 -0400
+
+gcl (2.6.7-30) unstable; urgency=low
+
+  * make sure *tmp-dir* is set
+  * makeinfo is optional
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 25 Oct 2006 17:37:54 -0400
+
+gcl (2.6.7-29) unstable; urgency=low
+
+  * Fix build issues on hppa and m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 21 Oct 2006 15:10:41 -0400
+
+gcl (2.6.7-28) unstable; urgency=low
+
+  * si::gettimeofday function for HOL88 build;macosx fixes
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 18 Oct 2006 13:21:26 -0400
+
+gcl (2.6.7-27) unstable; urgency=low
+
+  * unrestricted gcc for alpha
+  * more default stack space
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 17 Oct 2006 16:33:43 -0400
+
+gcl (2.6.7-26) unstable; urgency=low
+
+  * Fix large float read bug in c1constant-value
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 16 Oct 2006 12:41:03 -0400
+
+gcl (2.6.7-25) unstable; urgency=low
+
+  * build-dep on gcc3.4 where appropriate
+  * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Oct 2006 09:37:08 -0400
+
+gcl (2.6.7-24) unstable; urgency=low
+
+  * build-dep on gcc3.4 where appropriate
+  * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Oct 2006 02:22:04 -0400
+
+gcl (2.6.7-23) unstable; urgency=low
+
+  * backoff to gcc-3.4 on alpha,arm,hppa, and m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 11 Oct 2006 10:16:59 -0400
+
+gcl (2.6.7-22) unstable; urgency=low
+
+  * HAVE_SYS_SOCKIO_H for solaris
+  * autolocbfd for solaris
+  * no -Wall when no gcc
+  * no -fomit-frame-pointer on m68k
+  * no profiling on mips
+  * $(AWK) instead of awk
+  * si::stat function
+  * fix 'the boolean type coersion error
+  * no varargs on cygwin
+  * while eval macro
+  * gensym counter fixes
+  * xgcl updates
+
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 15 Sep 2006 13:48:28 -0400
+
+gcl (2.6.7-21) unstable; urgency=low
+
+  * Fix socket write error
+
+ -- Camm Maguire <camm@enhanced.com>  Wed,  6 Sep 2006 09:59:50 -0400
+
+gcl (2.6.7-20) unstable; urgency=low
+
+  * fix ia64 build
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Aug 2006 15:14:18 -0400
+
+gcl (2.6.7-19) unstable; urgency=low
+
+  * xgcl upgrade
+  * parse_number from cvs head with *read-base* fixes
+  * fix object_to_string
+  * install xgcl-2/sysdef.lisp
+  * fix info dir and emacs site lisp dir installation
+  * New xgcl readme
+  * Remove bashism from debian/rules, Closes: #376806, Closes: #385176.
+  * Fix dwdoc doc-base error, Closes: #385126
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 30 Aug 2006 12:13:46 -0400
+
+gcl (2.6.7-18) unstable; urgency=low
+
+  * remove emacs build dependency
+  * synch xgcl-2 with Novak edits
+  * fix build errors
+  * Remove power of two limit to MAXPAGE;fix X lib paths
+  * configure cleanup
+  * delete-file works on directories;build xgcl the old way;latest xgcl
+    from Gordon Novak
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 23 Aug 2006 14:19:51 -0400
+
+gcl (2.6.7-17) unstable; urgency=low
+
+  * Bug fix: "gcl: [INTL:sv] Swedish debconf templates translation",
+    thanks to Daniel Nylander (Closes: #343695).
+  * Bug fix: "gcl: French debconf templates translation update", thanks to
+    Sylvain Archenault (Closes: #344629).
+  * clean xgcl-2/gmon.out
+  * cleanup latest gcc type-punning warnings
+  * defentry C proclamations and xgcl cleanup
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 26 Jun 2006 16:45:09 +0000
+
+gcl (2.6.7-16) unstable; urgency=high
+
+  * Add missing build dependencies, omit html generation to avoid non-free
+    dependencies, CLoses: #372574.
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 19 Jun 2006 14:05:59 +0000
+
+gcl (2.6.7-15) unstable; urgency=low
+
+  * Use internal gettext for bfd
+  * Restore xgcl2
+  * Set compiler::*tmp-dir* at runtime
+  * report tmp-dir setting with system-banner to enable clean -eval -
+    batch operation; fix listen on socket streams; use (abs (getpid)) in
+    tmp names for Windows
+  * fix configure unbalanced quotes
+  * support for bignums in nth et.al.
+  * Fix branch cut of atanh
+  * Fix typep on simple-arrays
+  * prevent nested free errors
+  * revert atanh branch cut change
+  * Fix function documentation wrapping by compile
+  * cond evalmacro from cvs head
+  * Fix fixnum declarations in new smallnthcdr/bignthcdr
+  * fix simple-array typep
+  * updates for lsp/sys-proclaim
+  * xgcl integration
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Jun 2006 17:52:22 +0000
+
+gcl (2.6.7-14) unstable; urgency=low
+
+  * Add mount declaration to plt.c
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 18 Dec 2005 12:56:51 +0000
+
+gcl (2.6.7-13) unstable; urgency=low
+
+  * Add feof to plttest.c for macosx
+  * plt related fixes for macosx
+  * fix configure
+  * Cleanup LEADING_UNDERSCORE case in plt.c et.al for macosx et.al.
+  * pass devices if present in compiler::get-temp-dir, fix disassemble
+    for new gazonk name pattern
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 17 Dec 2005 15:22:40 +0000
+
+gcl (2.6.7-12) unstable; urgency=low
+
+  * Fix read-char-no-hang
+  * Strip emacs warnings when finding site-lisp directory
+  * mach-o update for latest binutils
+  * Latext bfd mach-o support from Aurelien
+  * revert to locbfd default on ppc-macosx
+  * More ppc macosx fixes from Aurelien
+  * revert a few macosx changes
+  * default to void * prototype on my_sbrk for latest macosx pending
+    Aureliens #ifdef
+  * Fix plt.h parsing on macosx
+  * Fix leading_underscore detection on mac
+  * macosx name mangling fixes
+  * multi-process safe gazonk names in compiler::*tmp-dir*
+  * Add underscore-mangled setjmp calls to plttest.c for macosx
+  * Fix POTFILES.in, Closes: #336207.
+  * Update templates, Closes: #324636
+  * New French and Swedish translations, Closes: #333654, Closes: #336757.
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 14 Dec 2005 18:52:49 +0000
+
+gcl (2.6.7-11) unstable; urgency=low
+
+  * Remove gcc-3.3 for arm in debian/rules
+  * make default maxpage depend on SIZEOF_LONG and PAGEWIDTH in a sane
+    fashion
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 20 Oct 2005 00:08:37 +0000
+
+gcl (2.6.7-10) unstable; urgency=low
+
+  * Fix long-call gcc configure bug for ppc, add fdollars in 
+    identifiers on arm
+  * remove gcc restrictions on arm
+  * revert 64bit coersion (gmp_big.c, maybe_replace_big) and replace with
+    code in siLnani (main.c) to get addresses from bignums.  2.7.0 will
+    have 64bit fixnums on 64bit machines, but this should not be
+    backported to 2.6.x
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 12 Oct 2005 23:11:12 +0000
+
+gcl (2.6.7-9) unstable; urgency=low
+
+  * 64bit fixnum fasd data format fix from cvs head
+
+ -- Camm Maguire <camm@enhanced.com>  Wed,  5 Oct 2005 18:49:50 +0000
+
+gcl (2.6.7-8) unstable; urgency=low
+
+  * Fix 64bit fixnum coersion bug using code from cvs HEAD
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 30 Sep 2005 22:14:38 +0000
+
+gcl (2.6.7-7) unstable; urgency=high
+
+  * Scan .o file for init name when using dlopen
+  * Set init name using .o file instead of source file by default
+  * wrap-literals function from cvs head to allow optimizations using
+    compile or compile-file
+  * ADDR_NO_RANDOMIZE fix
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Sep 2005 17:50:56 +0000
+
+gcl (2.6.7-6) unstable; urgency=high
+
+  * Build bfd snapshot locally, Closes: #318681
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 20 Sep 2005 17:53:17 +0000
+
+gcl (2.6.7-5) unstable; urgency=high
+
+  * gcc-3.3 for arm
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Sep 2005 20:33:00 +0000
+
+gcl (2.6.7-4) unstable; urgency=high
+
+  * gcc 3.4 on arm to work around reserved '$' identifiers.
+  * gcl: French translation update
+  * French translation added, Closes: #325214
+  * Czech translation added, Closes: #325869
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Sep 2005 13:45:11 +0000
+
+gcl (2.6.7-3) unstable; urgency=low
+
+  * static wraper for compiled_regexp for ia64
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 10 Sep 2005 11:26:37 +0000
+
+gcl (2.6.7-2) unstable; urgency=high
+
+  * rebuild against libgmp3c2, Closes: #323765
+  * 2.6.7 fixes all gcc 4.0 issues.  Closes: #323979
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Aug 2005 00:44:48 +0000
+
+gcl (2.6.7-1) unstable; urgency=high
+
+  * Fix (listen) with readline on
+  * fix control-d with readline
+  * libreadline5 support for Debian
+  * Support for pre-compiled regexps and new texinfo format
+  * Reenable run-process
+  * Push function 'accept  into lisp, use select for 'listen on socket
+    streams
+  * New Upstream release version
+  * Native-reloc feature
+  * Add daemon capabilities to server sockets, document socket and
+    accept
+  * Some gcl-tk fixes
+  * Update wrapt-literals strategy to be consistent with CVS head --
+    wrap evreything but symbols and integers, don't wrap when keeping
+    the gazonk files for linking in different images, this is really a
+    compile-file operation
+  * gcltk demo cleanups
+  * Probe-file, open_stream, and the like fail on directories
+  * Resolve symlinks in truename
+  * Place prototypes for defcfun in header files
+  * Support for unique init names for compiler::link and the like
+  * libreadline5 for Debian
+  * remove _o from init-names
+  * gcc-4.0 fixups
+  * Bug fix: "gcl: depends on binutils-dev &lt;&lt;= 2.1.5-999), so
+    uninstallable in unstable", thanks to Steve Langasek (Closes:
+    #318681).  Rebuild with new release to autocompute this dep
+  * Bug fix: "gcl: Please switch to po-debconf", thanks to Lucas Wall
+    (Closes: #295930). Apply po-debconf patch
+  * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 11 Aug 2005 15:00:26 +0000
+
+gcl (2.6.6-1) unstable; urgency=high
+
+  * New upstream release
+  * Allow .data section to be first in executable, as on solaris.  Also
+    allow for new bfd section size semantics
+  * Don't try to write map file when not using GNU ld.  Also allow
+    compile-file to process pathnames with whitespace on Windows
+  * Fix corner case fixnum arithmetic on 64bit machines
+  * Rework gmp_wrappers semantics for older gcc
+  * Explicitly mprotect loaded code pages PROT_EXEC on x86 Linux, as FC3
+    now requires it.
+  * lisp-implementation-version is GCL
+  * Reader extension patch allowing for foo::(bar foobar) semantics
+  * a shell script variable fix in "unixport/makefile" for MSYS
+  * __MINGW32__ malloc initialisation fix in "o/alloc.c"
+  * Windows file/directory fixes in "o/unixfsys.c"
+  * MinGW32 -march in configure - removes deprecation warnings
+  * MinGW32 directory fix - "o/mingfile.c".
+  * Allow for sysconf to determine clock granularity at compile time to
+    fix time errors on the Itanium
+  * Disable SGC on macosx until the sgc/save problem can be fixed.
+  * Fix fixnum print bug on 64bit
+  * Fix nil types in room report
+  * 64bit fixes to fixnum_add and fixnum_sub
+  * Fix Mac SGC/save bug, at least in part
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 16 Jan 2005 02:28:50 +0000
+
+gcl (2.6.5-1) unstable; urgency=high
+
+  * New gmp_wrappers.{c,h} files that prevent all GBC within gmp,
+    obviating the need for gmp patches and a local gmp configure.  FIXME
+    -- extend to all gmp functions in a systematic way, and write header
+    information for future use in the compiler, making sure that plt.c
+    carries the needed gmp symbols at this point
+  * Build support for gmp_wrappers
+  * Support for gmp_wrappers in alloc_relblock/alloc_contblock;Support
+    for GCL_GPROF_START define in gprof functions
+  * dynsysgmp on by default; configure backs off to local gmp configure
+    and build automatically if needed either because gmp not present or
+    patched symbols are needed; autodetect and set the _start symbol
+    when using gprof
+  * Fix (setf (get ...) ...) return bug when interpreted
+  * Fix overwrite end of sgc_type_map bug
+  * Versioned depends on binutils-dev manually installed by Debian build
+    process
+  * New upstream release
+  * Proper binutils dependency for Debian
+  * head -1l -> head -n 1 for freebsd
+  * Cleanup gmp_wrapper code, check for in-place calls as write in one
+    step is not guaranteed in gmp according to its developers
+  * Rebuild against binutils 2.15, Closes: #266253, Closes: #263983
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 17 Aug 2004 18:22:27 +0000
+
+gcl (2.6.4-1) unstable; urgency=high
+
+  * New upstream release
+  * Make disassemble work when original system directory is gone
+  * New debian/support files for debconf image default selection support
+  * More descriptive compiled C function names for use in gprof when
+    profiling is compiled in
+  * Compiler fix for proclaimed vararg functions
+  * Allow sharp numbers to be bignums
+  * lintian fix in string-match
+  * Prototype for alloca for lint
+  * Improve gprof support
+  * Improve sgc page allocation which optimize-maximum-pages is in
+    effect and the hole is overrun
+  * Build a profiling set of images as well for Debian, toggle between
+    all four by default via debconf
+  * reset-sys-paths lisp function for moving image installation
+    directories, show profiling support in banner if present
+  * Fix typo in sys docs
+  * reset sys paths on installation
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  5 Aug 2004 22:48:56 +0000
+
+gcl (2.6.3-1) unstable; urgency=high
+
+  * Correctly parse gcc version strings in gmp3 subconfigure on arm
+  * Fix variable capture error in dotimes macro
+  * Better sed separator for LI-CC in unixport/makefile
+  * Fix segfault in string-match
+  * vs_top=sup -> (reset-top) where possible in compiler.  FIXME: a few
+    items of a different form which need to set *sup-used* too.
+  * Correct room report to show proper percentages when sgc is on
+  * Read in RELOC environment variable if set as default in debian/rules
+  * Remove local bfd libraries from libs variables as their objects are
+    incorporated into libgcl and as the source directory may not be
+    available at runtime
+  * Remove pcl/pcl_gazonk*lsp build-generated files from source
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Jul 2004 14:26:44 -0400
+
+gcl (2.6.2-3) unstable; urgency=low
+
+  * Fix value stack leak in rare compiled call sequence
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Jul 2004 10:17:02 -0400
+
+gcl (2.6.2-2) unstable; urgency=low
+
+  * New upstream point release
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Jul 2004 10:08:53 -0400
+
+gcl (2.6.2-1) unstable; urgency=low
+
+  * gcc-3.4 support
+  * Proper isnormal default courtesy of Magnus Henoch
+  * gclclean makefile target and other small makefile changes
+  * Proper check for C stack array body address in gbc.c and sgbc.c
+  * New upstream release
+  * acconfig.h update for isnormal default
+  * Fix bug in setting elements (si::aset) of 0 rank arrays uncovered by
+    the random tester
+  * No -fomit-frame-pointer on mingw
+  * Backport minimal ansi-test patches from HEAD to enable running of
+    the random tester
+  * installed tcl/tk patch for mingw
+  * Fix banner license detection code in lsp/gcl_mislib.lsp as
+    8features* entries are now keywords
+  * o/makefile changes to work around trailing slash -I arguments gcc
+    bug on mingw
+  * Patch to mingwin.c:fix_filename to close long standing 'maxima
+    ignore-errors filename corruption' bug on mingw
+  * Check for too large rank supplied to make-array1
+  * Fix potential stack overwrite bug in quick_call_sfun/eval.c
+  * Add -mprferred-stack-boundary=8 on amd64, as constant integers used
+    in a call must be retrievable with va_arg(,fixnum)
+  * Revert preferred-stack-boundary option on amd64 as it does not play
+    well with external libraries, also eliminate -m64 to allow for user
+    settings.  Cast fixnum constant C arguments in gcl_cmploc.lsp
+    explicitly to (long) to ensure they can be extracted via
+    va_arg(,fixnum)
+  * reenable SA_SIGINFO on amd64 to restore SGC there
+  * Include elf.h in FreeBSD.h
+  * Allow for elf_abi.h in FreeBSD.h
+  * Add README.openbsd file
+  * readme.mingw updates
+  * solaris.h updates for custreloc option
+  * Close possibility of malloc failure due to intervening gbc arising
+    from the misordering of allocation calls
+  * C_GC_OFFSET is 2 on m68k-linux
+  * Add release notes, remove gcl document presumably based on dpANS for
+    now
+  * Fixup bad extern declaration of signals_handled in usig.c
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 25 Jun 2004 22:43:52 +0000
+
+gcl (2.6.1-39) unstable; urgency=high
+
+  * Fix segfault in referencing (sgc_)type_map out of bounds which can
+    occurr when C stack is below heap, as on alpha.
+  * Cleanup compiler warnings on bcmp.c bzero.c and bcopy.c
+  * Clean up compiler warning in file.d
+  * Ensure set TLDFLAGS are used in finding DBEGIN in copnfigure.in, for
+    OpenBSD
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  7 May 2004 21:50:03 +0000
+
+gcl (2.6.1-38) unstable; urgency=low
+
+  * Make *features* entries keywords -- add canonical host cpu and
+    kernel-system to *features*, disable h files specific
+    ADDITIONAL_FEATURES macro in main.c
+  * Fix merge-pathanames bug in concatenating default and supplied
+    directory lists
+  * Minor pathname and *features* fixes
+  * Fix recently introduced configure.in syntax bug
+  * Minor patches to support big gcl images -- all page integers must be
+    long ints, need stack space limits that scale with MAXPAGES at least
+    to allow free_map stack array in sgc_start.  FIXME -- right now can
+    handle situations where page numbers are ints, but npage*PAGESIZE is
+    a long, need to handle npage >MAX_INT later.  This is to support the
+    'billion cons element acl2 image' requested by a gcl user
+  * Revert winnt features and debugging aids in configure.in
+  * OpenBSD support, gcc warning cleanups for long page integers
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  3 May 2004 21:34:57 +0000
+
+gcl (2.6.1-37) unstable; urgency=high
+
+  * mprotect pages PROT_EXEC as CLEAR_CACHE step on amd64-linux
+  * Prevent recursive malloc calls for OpenBSD error reporting
+  * Push dummy 0 time for child runtime on windows to be compatible with
+    other platforms for now
+  * Make sure pages are mprotected PROT_EXEC for amd64 support
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Apr 2004 21:00:22 +0000
+
+gcl (2.6.1-36) unstable; urgency=low
+
+  * Improve optimize-maximum-pages algorithm
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  6 Apr 2004 03:23:40 +0000
+
+gcl (2.6.1-35) unstable; urgency=low
+
+  * Fix sigcontext autodetection on sparc
+
+ -- Camm Maguire <camm@enhanced.com>  Sun,  4 Apr 2004 19:26:48 +0000
+
+gcl (2.6.1-34) unstable; urgency=low
+
+  * Fix GNU_LD autodetection in configure.in
+  * Eliminate C_INCLUDE_PATH from shell script wrapper
+  * Use lisp rather than 'system touch' to make empty map file in
+    compiler::link
+  * fix small bug when info is passed bad second argument
+  * Don't try to open map file if doesn't stat (macosx)
+  * Add earlier forgotten branch patch to sfaslbfd.c for macosx
+  * Backport new eval-when keyword support from 2.7 to run random tester
+  * Perhormance improvement to gcl_seqlib.lsp -- no inner loop over
+    bignums
+  * Proper contblock/relblock determination when expanding string
+    streams
+  * Proper string type determination for *link-array*
+  * .ini files depend on plt.h
+  * plttest.c cannot depend on include.h
+  * Address longstanding FIXmE in gensym, so that two strings are not
+    allocated for each gensym
+  * Fix rare infinite loop bug in array.c
+  * Import si::info into 'user
+  * , -> # as sed separator
+  * Minro warning removals and fixups
+  * Binary searches through ordered arrays of referred and changed
+    variables for dramatic compiler performance improvement in the large
+    case -- support declarations and thereby optimizations of the form
+    (declare ((vector t) foo)), etc.
+  * Better 'time macro
+  * rebuild pcl_gaz* files
+  * cleanup room report and give more space to modern large heaps
+  * room report formatting
+  * Properly gensymmed time macro
+  * Allow for white space chars in compiled filenames
+  * Autodetect and work around sbrk randomization, e.g. on Fedora 1
+  * Probe for sbrk before probing for randomized sbrk
+  * Openbsd changes -- maximize data seg resource if possible, avoid
+    mallocing error message when allocation routines fails
+  * Fix sigcontext configure tests
+  * Rename loop-finish -> sloop-finish in sloop package so that sloop
+    and ansi loop can be used simultaneously
+  * Handle arguments which are zero in LCM
+  * Fix typo in configure.in
+  * Improved dotimes macro which avoids unnecessary fixnum garbage
+    generation
+  * Backport of ignorable declaration keyword for new dotimes macro
+  * si::*OPTIMIZE-MAXIMUM-PAGES* support
+  * rebuild pcl generated lisp files
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  3 Apr 2004 19:27:18 +0000
+
+gcl (2.6.1-33) unstable; urgency=low
+
+  * Remove extraneous symbols from plt.h, autodetect and correct for
+    leading underscore in object symbols
+  * complete readline version detection commit
+  * Backport support for new eval-when keywords
+  * Autodetect GNU ld and add -Wl,-Map only when appropriate
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 10 Mar 2004 22:51:44 +0000
+
+gcl (2.6.1-32) unstable; urgency=low
+
+  * Try to automatically determine the form used for the explicitly
+    compiled in external function addresses in plt.c
+  * No need to explicitly write cr-lf on windows
+  * Autodetection of machine on FreeBSD
+  * Updated defs and h files for FreeBSD courtesy of Mark Murray
+  * Minor ifdefs needed for FreeBSD
+  * Refer to exported non-static C stub of fSmake_vector1 in plt.c
+    (needed on ia64)
+  * Readline 4.1/4.3 configure magic
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Mar 2004 01:58:43 +0000
+
+gcl (2.6.1-31) unstable; urgency=low
+
+  * Adjustments to vs_top reset logic to clear (hopefully last)
+    remaining bug found by the random-tester
+  * Allow args-info-referred-vars to match replaced vars, clearing bug
+    report submitted by Matt Kauffman
+  * Rework plt code yet again to be compatible with compiler::link for
+    axiom, and mingw32
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  8 Mar 2004 12:16:46 +0000
+
+gcl (2.6.1-30) unstable; urgency=low
+
+  * Fix rsym generated symbol tables for 64 bit platforms
+  * Make sure 'unwind' in frame.c does nt go below frs_org
+  * Do not define symbols with no value, either in bfd/rsym, or in
+    plt.c.  Generates a clear and explicit error of an undefined symbol
+    when we've missed an address
+  * Define the external symbols known to be written at present in plt.c
+  * fix some more compiler errors found by the random tester -- all
+    related to proper unwinding of temporary reductions of vs_top from
+    te local supremum
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Mar 2004 02:05:59 +0000
+
+gcl (2.6.1-29) unstable; urgency=low
+
+  * Remove implicit dependency on gawk, optimize plt.c a little
+
+ -- Camm Maguire <camm@enhanced.com>  Wed,  3 Mar 2004 16:08:30 +0000
+
+gcl (2.6.1-28) unstable; urgency=low
+
+  * make sure bfd fasload initializes dum.sm.sm_object1 for
+    read_fasl_vector
+  * When a tagbody contains ccb reference tags, and hence i itself
+    marked ccb, mark all the clb tags therein ccb too, as the tagbody
+    environment will be consed in c2tagbody-ccb.  FIXME -- review this
+    logic carefully
+  * fix typoe in o/sfaslbfd.c
+  * Add code to unwind redefinitions of the stack supremum in c2expr-top
+    (used in c2multiple-value-prog1 and c2multiple-value-call in
+    evaluating arguments) on non-local exit
+  * Use new temporarry variables holding lisp stack  supremum for lint
+  * Eliminate extraneous warning message when allocating fewer pages
+    than already allocated
+  * Rework internal plt symbol address capture
+  * Cleanup sfaslelf compiler warning
+
+ -- Camm Maguire <camm@enhanced.com>  Wed,  3 Mar 2004 00:27:08 +0000
+
+gcl (2.6.1-27) unstable; urgency=low
+
+  * Modify default banner slightly
+  * Homebrew plt-like mechanism for ensuring that valid internal
+    addresses exist to which undefined symbols in compiled lisp objects
+    referring to external shared libraries can be relocated
+  * Make configure demand gettext when choosing --enable-locbfd
+  * Make sure references to ldb1, a stub conventionally optimized away,
+    can be resonled when optimization is turned off
+  * completion_matches ->  rl_completion_matches in gcl_readline.d,
+    which is what is exported in the headers
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 27 Feb 2004 23:50:49 +0000
+
+gcl (2.6.1-26) unstable; urgency=low
+
+  * Rework compiler::*ld-libs*, compiler::link, and unixport/makefile to
+    accomodate mingw need for firstfile.o and lastfile.o
+  * Remove incompatible -fomit-frame-pointer when compiling with -pg
+    profiling
+  * Load sys-proclaim.lisp files forimproved linking and smaller object
+    size across the board, install same for use with compiler::link
+  * Use pathnames instead of strings in compiler::link, also in image
+    init files, for Windows
+  * small mod to unixport/makefile re filtering of firstfile and
+    lastfile
+  * Backport zero divisor error cnditions from HEAD for
+    floor,ceiling,truncate
+  * Default to debug mode on hppa to work around gcc compiler
+    optimization bugs
+  * Add missing m4 and automake files in binutils directory to enable
+    automake and autoconf here
+  * Add mach-o specific files from cvs head to local bfd tree
+  * Add bfd/po makefiles
+  * Macosx defaults in configure.in
+  * bfd make and configure file changes to handle mach-o backend
+  * *gcl-version* -> *gcl-minor-version*,*gcl-extra-version*
+  * Support for more informative banner reading features list
+  * Support for both sigbus and sigsegv in sgbc.c as is customary in .h
+    files
+  * mach-o compatible changes in sfaslbfd.c
+  * Support for new debugging section names in sfaslelf.c
+  * powerpc-macosx h and defs files from cvs head
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 25 Feb 2004 23:08:59 +0000
+
+gcl (2.6.1-25) unstable; urgency=low
+
+  * rl_putc_em a carriage return after invoking readline to ensure the
+    prompt in rl_putc_em_line is cleared.
+  * use standard sgc fault recovery element for hppa as recommended by
+    hppa kernel experts
+  * Store banner in si::*system-banner* for possible modification
+  in compatibly licensed programs
+  * exit with -1 when standard in ends in lisp debug mode
+  * Backport macosx files from cvs HEAD
+  * Document system return codes
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 13 Feb 2004 20:44:54 +0000
+
+gcl (2.6.1-24) unstable; urgency=low
+
+  * Revert unixport/makefile link order fix for windows, breaks
+    compiler::link, find another way
+  * runtime SGC fault recovery test
+  * Protect read/fread in case SGC is enabled with safe (restartable)
+    versions
+  * SGC on for arm and hppa
+  * remove fast-link workaround now fixed for windows
+  * Backport HEAD makefile changes to clean .{c,h,data} files and
+    new_decl.h, remove said from repository (generated files)
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Feb 2004 05:56:29 +0000
+
+gcl (2.6.1-23) unstable; urgency=low
+
+  * Remove calls to init-readline with new automatic readline setup
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 27 Jan 2004 20:27:20 +0000
+
+gcl (2.6.1-22) unstable; urgency=low
+
+  * Build depend on emacs21 | emacsen
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 23 Jan 2004 22:01:15 +0000
+
+gcl (2.6.1-21) unstable; urgency=low
+
+  * Automatic readline initialization
+  * Add watch file
+  * Prevent circular error loops
+  * Prevent automatic optimization added to CFLAGS by autoconf
+  * Rework documentation installation in and outside of Debian
+  * Support user deined predicates at an elementary level in the form
+    '(satisfies foop) in gcl_predlib.lsp
+  * Install binary gcd algorithm for ~10% performance increase
+  * Rescale some default allocation parameters -- bignum allocation by
+    relblocks by default, default growth parameters are 1 (min),
+    0.1*MAXPAGE (max), 0.5 (increase), 0.3 (percent free), holepage is
+    4*MAXPAGE/1024, INIT_HOLEPAGE, INIT_NRBPAGE and RB_GETA scale
+    accordingly
+  * Clean windows/sysdir.bat
+  * Check for zero args in new gcd code
+  * Default hole is maxpages/10, holesize configure option added
+  * Fix syntax errors in older reloaction code: sfaslelf.c
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 16 Jan 2004 16:57:50 +0000
+
+gcl (2.6.1-20) unstable; urgency=low
+
+  * Fix gcl-doc doc-base files
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Dec 2003 22:30:39 +0000
+
+gcl (2.6.1-19) unstable; urgency=low
+
+  * Fix bug in compiler::c2labels in which *ccb-vs* was missing a ocal
+    rebind
+  * Remove duplicate tags from compiled C switch statements
+  * Minor merges for DARWIN support
+  * Path to configure to make --enable-emacsdir work
+  * Check for readline/readline.h header before configuring for readline
+  * Improve system bfd library location detection
+  * Make sure external gmp lib is compatible via __GNU_MP_VERSION, else
+    backoff to local gmp build;  prepend externally defined CFLAGS into
+    output CFLAGS, FINAL_CFLAGS, and NIFLAGS
+  * Remove --enable-gmp configure option; gmp is required for GCL
+  * Use --enable-emacsdir in debian/rules, make sure --enable-emacsdir
+    and --enable-infodir work when arg contains ${prefix}
+  * Fix typo in chap-6.texi
+  * Make sure to export SGC define from config.h to cmpinclude.h -- Now
+    that we used optimized structures in the compiler, we need at least
+    the definition of SGC_TOUCH there to prevent GBC errors.  FIXME --
+    handle header dependencies more robustly.  Thanks to Robert Boyer
+    for the report
+  * Improve SGC define extraction for cmpinclude.h
+  * Fix variable reference errors which were occurring for compiled
+    local functions defined within closure-generating or other
+    environment stack pushing functions when safety is set to 3 (thanks
+    Paul Dietz for the report.).  When constructing local functions and
+    closures within a 'mother' function, *ccb-vs* will hold the number
+    of closure environments stacked at the point of each closure
+    creation or call to a local function.  This value is stored as the
+    cadr of a list pushed onto *local-funs*, and is read when writing
+    out the C code for the local function or closure, where it is used
+    to initialize *ccb-vs* and *initial-ccb-vs* for subsequent
+    processing.  The latter is used as the reference point when
+    addressing variables in wt-ccb-vs, as the former could be still
+    further incremented within the closure or local function itself.
+    Local functions as opposed to closures do not increment *ccb-vs* and
+    do not push the environment.  When a local function is defined
+    within a closure-generating flet/labels, or a tagbody or block which
+    pushes the environment, the value of *ccb-vs* written to the list
+    corresponding to the local function can be erroneously incremented
+    beyond the *initial-ccb-vs* value established before any environment
+    pushing operations were processed.  It is this latter value which is
+    appropriate for use in wt-ccb-vs, as the local functions, unlike the
+    closures, receive an environment level with the mother generating
+    function.  We therefore push *initial-ccb-vs* onto the end the list
+    pushed onto *local-funs* only when defining a local function, and use
+    it to initialize an added optional variable initialize-ccb-vs in
+    t3local-fun and t3local-dcfun, which default to the original ccb-vs.
+    We then bind *initial-ccb-vs* to this new optional parameter instead
+    of the former *ccb-vs, which was only appropriate for closures.
+  * Put in rudimentary logic for the selection of stack vs. heap storage
+    for bignums depending on the frame context.  FIXME, this logic is
+    too conservative at present.  SETQ_II and SETQ_IO take an additional
+    parameter which is malloc when *unwind-exit* is bound and contains
+    'frame and  alloca otherwise.  New macro bignum-expansion-storage.
+    FIXME, ensure that IDECL does not need similar modification.
+  * Cleanup a few compiler warnings in the compiler
+  * Cleanup compiler warning in alloc.c
+  * Eliminate unneeded transformatio of contniguous pages to other pages
+    on save-system.
+  * malloc -> gcl_gmp_alloc in recent setjmp frame protected bignum
+    allocation
+  * Add -Wa,--execstack if on an exec-shield enabled system, can be
+    explicitly added otherwise by setting the CFLAGS variable before the
+    configure step
+  * Better execstack flag handling in configure
+  * Allow for commas in CFLAGS in sed command writing *cc*
+  * Preliminary gprof profiling support
+  * Rework html documentation generation and installation, Closes:
+    #221774
+  * Remove parentheses from setf class-name info node in chap-7.texi
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Dec 2003 16:26:45 +0000
+
+gcl (2.6.1-18) unstable; urgency=low
+
+  * Portability patches to makefiles to support non-GNU grep (no -q),
+    and non-bash sh, C_INCLUDE_PATH=...;export C_INCLUDE_PATH
+  * copy the global *info* parameter in c1flet and c1labels to prevent
+    accumulation of old data -- FIXME -- make sure there are no other
+    copies required, and eventually replace this global parameter with
+    local variables
+  * Turn on some optimization on hppa, -O only
+  * Make all C defined functions installed into lisp static functions to
+    work around dynamic function descriptors on ia64, Closes: #217484,
+    Closes: #204789, (STATIC_FUNCTION_POINTERS define in config.h)
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  6 Nov 2003 15:40:25 +0000
+
+gcl (2.6.1-17) unstable; urgency=low
+
+  * Repair weak symbol addition to the bfd symbol table in sfasli.c
+  * Be more thorough about adding fun-info to call-local info in
+    gcl_cmpflet.lsp, accompanying simplifications in gcl_cmpeval.lsp
+    (call-global lists have info updated by args already in (c1args args
+    info)), small changes in add-info in gcl_cmpinline.lsp, FIXME --
+    study rational for *info* special variable in certain places as
+    opposed to more common copy-info
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 30 Oct 2003 20:03:22 -0500
+
+gcl (2.6.1-16) unstable; urgency=low
+
+  * Fix sh syntax in debian/gcl.sh
+  * init_or_load1 -> gcl_init_or_load1 in xgcl-2/sysinit.lsp
+  * Load weak symbols as well as undefined symbols in
+    bfd_build_symbol_table, for the purposes of the static build
+    possibility
+  * Map t and nil stream indicators properly in optimized compiled
+    references to read_char1 and read_byte1 (in read.d)
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 23 Oct 2003 16:43:15 +0000
+
+gcl (2.6.1-15) unstable; urgency=low
+
+  * Remove imod/ifloor functions in cmpaux.c and directly inline their
+    fixed equivalents in gcl_cmpopt.lsp
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 13 Oct 2003 15:04:24 +0000
+
+gcl (2.6.1-14) unstable; urgency=low
+
+  * generate less garbage in add-info (gcl_cmpinline.lsp), enabling
+    maxima compile to complete in a finite time :-)
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 10 Oct 2003 22:14:04 +0000
+
+gcl (2.6.1-13) unstable; urgency=low
+
+  * Fix compiler optimization bug in gcl_cmpopt.lsp -- missing parens
+    around inliner for max and min
+  * collect info structures for local functions in flet and labels
+    processing (gcl_cmpflet.lsp), and pass upwards to call-local and
+    call-global (gcl_cmpeval.lsp) to fix certain inlining bugs in via
+    more proper operation of args-info-changed-vars (gcl_cmpinline.lsp,
+    inline-args, gcl_cmplet.lsp, c2let)
+  * Fix an obviou int overflow in ifloor (o/cmpaux.c), handle more
+    proper fixnum/integer determination from declarations later
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 10 Oct 2003 02:34:11 +0000
+
+gcl (2.6.1-12) unstable; urgency=low
+
+  * Restore mpz_to_mpz{1} in gmp_big.c, can be written by compiler
+  * tk8.4 patches
+  * Prevent destructive modification of bignum arguments in log_op/mp_op
+    in gmp_big.c
+  * Make sure to push stack variables onto newly allocated C variable
+    when inlining args and args cause side effects, in inline-args,
+    gcl_cmpinline.lsp
+  * Fix bug related to gcc-3.3 fixes in set_exponent in num_co.c
+  * Remove pcl_methods.c patch. as is apparently no longer needed, TODO
+    -- make sure VOL modifier is inserted where needed to prevent
+    longjmp clobbers
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  2 Oct 2003 14:26:43 +0000
+
+gcl (2.6.1-11) unstable; urgency=low
+
+  * Add compilation step of compiling all lsp and cmpnew .lsp files from
+    an interpreted only saved_pre_gcl before the creation of saved_gcl -
+    - this enables us to use full optimization on these files while
+    getting the STREF constants right on 32bit and 64bit
+  * remove 'attic' from comment in gcl_loop.lsp
+  * configure changes for sizeof(struct contblock) detection
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Sep 2003 16:09:44 +0000
+
+gcl (2.6.1-10) unstable; urgency=low
+
+  * Mac OSX GET_FULL_PATH_SELF
+  * Preliminary subtypep checking for 'satisfies
+  * preliminary 'satisfies support in subtypep, more predicate type
+    pairs and reverse checking
+  * small compiler change to remove unused C variables from optimized
+    compiled macros
+  * Optional compiler init file is called gcl_cmpinit
+  * fasdmacros.lsp -> gcl_fasdmacros.lsp
+  * All cmpinit.lsp files named gcl_cmpinit.lsp; allow full lisp
+    optimization in all directories
+  * collectfn -> gcl_collectfn in lsp/gcl_auto.lsp
+  * collectfn -> gcl_collectfn in cmpnew/gcl_make-fn.lsp
+  * Make sure makefiles can generate sys-proclaim.lsp, regenerate these
+    files and recompile from lsp
+  * Rebuild with opts enabled
+  * Iterate sys-proclaim/rebuild generation once more
+  * Iterate sys-proclaim/rebuild for pcl and clcs
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 23 Sep 2003 19:33:27 +0000
+
+gcl (2.6.1-9) unstable; urgency=low
+
+  * Close streams in fasldlsym.c
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 16 Sep 2003 14:57:20 +0000
+
+gcl (2.6.1-8) unstable; urgency=low
+
+  * Add processor flag variable to flags in configure.in
+  * Autoadd full path to kcl_self to enable save-system when user moves
+    executable and calls without script wrapper
+  * Add special variables si::*collect-binary-modules* and si::*binary-
+    modules* as a facility for discovering the list of fasloaded objects
+    preceding a save-system is required for a subsequent compiler::link
+  * Add collectfn.lsp to distro
+  * Rename some files and init_ functions to eliminate namespace
+    conflicts when building images with compiler::link
+  * Enable compressed info reading
+  * Make sure no opt flags are set when enable debug is specified
+  * Use NIFlAGS to compile new_init with lower opts on ppc to work
+    around gcc bug, restore full opts to other files
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 14 Sep 2003 02:18:28 +0000
+
+gcl (2.6.1-7) unstable; urgency=low
+
+  * Fix permissions bug in temporary gzipped file handling
+  * Propagate control changes correctly with package extension
+  * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Sep 2003 17:06:56 +0000
+
+gcl (2.6.1-6) unstable; urgency=low
+
+  * Remove build-dependency on autoconf as a temporary work around to
+    Debian autoconf's dependency bug on emacsen-common
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Sep 2003 15:29:06 +0000
+
+gcl (2.6.1-5) unstable; urgency=low
+
+  * Redefine temporary files in elisp/makefile
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  8 Sep 2003 21:49:09 +0000
+
+gcl (2.6.1-4) unstable; urgency=low
+
+  * Fix to sfasli.c to avoid defining symbols in other than *UND*
+    sections
+  * Remove some 64 bit warnings
+  * Turn off def_static on ia64 for now -- its broken
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Sep 2003 17:22:10 +0000
+
+gcl (2.6.1-3) unstable; urgency=low
+
+  * Fix static detection fr ia64; contblock size detection on arm
+  * Fix gcc verion checking in gmp3 subconfigure, esp. for arm
+  * Escape all sgc code with #ifdef SGC
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  5 Sep 2003 21:32:47 +0000
+
+gcl (2.6.1-2) unstable; urgency=low
+
+  * Add windows/install.lsp to clean target
+  * Add in macosx files to stable and cvs head
+  * Fix bad debelper postinst, Closes: #208765
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  5 Sep 2003 13:15:11 +0000
+
+gcl (2.6.1-1) unstable; urgency=low
+
+  * New upstream release
+  * Type-punning warning fixes
+  * small_fixnum overflow fixes
+  * off by one fix in cerror
+  * Fix compiler error which had not recognized defpackage as a package
+    operation
+  * Fix tkl.lisp call to open-named-socket
+  * Make values-list and nreconc signal errors when they should on
+    dotted lists.
+  * Avoid use of windows.h types as macros.
+  * New config.{sub,guess}
+  * Windows installer updates from CVS HEAD
+  * fix potential longjmp clobber in read.d;add some windows files to
+    main makefile clean target;
+  * Darwin revealed fixes to usig.c and unixtime.c
+  * Fix gbc time calculation in case of recursive gbc calls
+  * Run patch_sharp in LSharp_exclamation_reader to handle new case of
+    defpackage ops at head of fasl vector, required for maxima build
+  * Special symbol Dotnil has ordinary list Cnil for plist and hpack
+  * Small fixes for profiling support
+  * Restore pp() function for debugging; print out undefined symbol
+    names
+  * Small patch for fix xgcl demo (thanks  Michael Koehne)
+  * Better bfd symbol table strategy
+  * Fix bfd table symbol counting for combined_table profiling
+  * amd64 linux support
+  * O6 -> O3
+  * static linking on ia64 to work around current mechanism for runtime
+    generated function descriptors
+  * enable-static configure option
+  * Fix debian/gcl-doc.docs for latest texinfo file splitting policy,
+    Closes: #206017
+  * Fix typo in o/sfasli.c
+  * Rework debian package structure to handle stable and cvs packages
+    simultaneously
+  * Add gazonk*.lsp to clean target
+  * syntax fix to lsp/gprof.hc
+  * Add support for SGC contblock pages
+  * Fixes to debian/rules
+  * Remove unused definitions of Vcs
+  * Increase default maxpages and stack sizes
+  * Maintain a persisten *system-directory* binding
+  * Push installed /h directory onto -I flags on cc command line
+  * Escape old in-package behavior with #ifdef ANSI_COMMON_LISP
+  * define HAVE_XDR in linux.h
+  * reduce resolution of contblock mark_table in gbc.c to match new
+    minimum granularity introduced via CPTR_ALIGN
+  * Remove exit function in main.c
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  4 Sep 2003 02:20:52 +0000
+
+gcl (2.5.3-2) unstable; urgency=low
+
+  * gcc-3.3 all platforms
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  7 Jul 2003 16:10:25 +0000
+
+gcl (2.5.3-1) unstable; urgency=low
+
+  * New upstream release
+  * Restore object_to_float and object_to_double, cmpaux.c, Closes: #195470.
+  * Remove obsolete functiion multiply-bignum-stack from documentation,
+    si-defs.texi
+  * Unstatic object_to_float, object_to_double
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  2 Jun 2003 12:38:03 -0400
+
+gcl (2.5.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Cleanup xdrfuns.c for Axiom
+  * Reenable xgcl build
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 20 Mar 2003 09:15:54 -0500
+
+gcl (2.5.1-1) unstable; urgency=high
+
+  * some optimization now on hppa
+  * Add RELEASE-2.5.1 file
+  * Add dedication notice to the memory of W. Schelter
+
+ -- Camm Maguire <camm@enhanced.com>  Sun,  2 Mar 2003 10:20:26 -0500
+
+gcl (2.5.0.cvs20020625-80) unstable; urgency=low
+
+  * enable japi configure flag, defaults to no
+  * enable -mlongcall on ppc when using gcc 3.3 or higher
+  * int -> fixnum in DEFUN function arguments for safety -- ensures
+    pointers and integers passed by lisp are of same size
+  * MYmake_fixnum macro simplification
+  * ufixnum typedef
+  * Prototypes for cmod et.al. -- restoring maxima build on ia64
+  * Fix unaligned access message on ia64 generated by DFLT_aet_fix
+  * Integer va_arg uses fixnum
+  * Define __*i3 symbols used by GCL, supplied by libc, and written into
+    some GCL compiled objects, restores ARM build with ANSI image
+  * num_log.c miscompilation on ia64 apparently fixed, Closes: #156291
+  * Ensure cmpinclude.h up to date in main makefile
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  1 Mar 2003 17:33:29 -0500
+
+gcl (2.5.0.cvs20020625-79) unstable; urgency=low
+
+  * Fix Debian package install bug
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 23:17:55 -0500
+
+gcl (2.5.0.cvs20020625-78) unstable; urgency=low
+
+  * Add config.log config.status and config.cache to clean target
+  * Remove xgcl-2/debian directory
+  * Update clcs/sys-proclaim.lisp
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 18:48:38 -0500
+
+gcl (2.5.0.cvs20020625-77) unstable; urgency=low
+
+  * Lintian cleanups
+  * Don't strip libansi_gcl.a, need .data at end of .o, as with libgcl.a
+  * Take newlines out of doc string for init-cmp-anon
+  * Cleanup gcc-3.2 compiler warning
+  * 64 bit STREF fixes
+  * pcl and clcs need to have C rebuilt afresh, as 64 bit machines write
+    different STREF offsets into the C files
+  * Rework Debian package build a bit
+  * README.Debian explaining the toggling of the ANSI image
+  * Typo in debian/rules
+  * Remove debian/gcl.conffiles
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 15:56:11 -0500
+
+gcl (2.5.0.cvs20020625-76) unstable; urgency=low
+
+  * Debian Priority is optional
+  * Configure lowest common denominator on m68k to m68020 -- gcc-3.2
+    can't handle m68000 -- no __mulsi3
+  * Fix bit array bug
+  * Add upgraded-array-element-type
+  * Misc typep and subtypep fixes
+  * Proper error handling in certain array.c functions
+  * First needs exactly one arg
+  * Proper error handlin in LAST
+  * bit array allocation fixes in num_log.c
+  * eliminate Iapply_fun_n1
+  * Dummy system find-class in traditional image, overwritten by pcl
+    version in ANSI
+  * Invalid variable is a program error, not a symbol is a type error
+  * Attempt at uninterned symbol support as slot names
+  * defstruct changes for ANSI conc-name handling
+  * Rework ansi build to follow existing pattern for traditional image,
+    enabling preliminary ansi support on dlopen systems
+  * Fix broken mingw probe in main makefile
+  * Rename pcl and clcs files to avoid init name conflict on dlopen
+    systems
+  * sys-proclaim for clcs
+  * Compiler goto indentation
+  * Compiler pointer cast in call_or_link_closure
+  * *keep-gaz* compiler variable to save anonymously generated lisp
+  * si::init-cmp-anon function to initialize anonymously generated and
+    compiled lisp from .text section of running executable
+  * Debian/rules builds and ships both images
+  * Check for small fixnum in make_fixnum macro
+  * Pass real integers to array functions to minimize fixnum garbage
+  * Larger SHARP_EQ_CONTEXT_SIZE in read.d
+  * Shadowing-import instead of import dummy symbols into common-lisp in
+    ansi_cl.lisp
+  * Rework object definition in makefiles
+  * Remove old gmp directory
+  * Remove old tests directory
+  * Reinsert JAPI configuration
+  * Spruce up clean target
+  * Use saved_gcl to recompile cmpnew files
+  * Toggle ansi image with GCL_ANSI environment variable
+  * Version 2.5.1
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 26 Feb 2003 21:31:04 -0500
+
+gcl (2.5.0.cvs20020625-75) unstable; urgency=low
+
+  * Export truename for dlopen systems
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 14 Feb 2003 23:31:15 -0500
+
+gcl (2.5.0.cvs20020625-74) unstable; urgency=low
+
+  * Remove duplicates in apropos a la clisp
+  * Use static where possible, remove unused functions, decrease global
+    symbol count by about 1/3 (~ 600 global functions)
+  * Inline optimize cmod,cplus,ctimes and cdifference like maxima
+  * eliminate make-pure-array from lfun_list.lsp, not defined
+  * Prototypes for all possible compiler generated function calls
+  * relative symlink for cmpinclude.h in Debian package
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 14 Feb 2003 20:17:31 -0500
+
+gcl (2.5.0.cvs20020625-73) unstable; urgency=low
+
+  * typep fixes for class types
+  * m68k Build-depend on gcc-2.95 as a temporary work around to bug
+    179807
+  * gcc-3.2 warning cleanups
+  * bfd_boolean syntax support for newer binutils
+  * gcc-3.2 on powerpc can't yet handle -O2 and higher
+  * Reenable gcc-3.2 for m68k and do some guesswork in configure
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 10 Feb 2003 13:47:00 -0500
+
+gcl (2.5.0.cvs20020625-72) unstable; urgency=high
+
+  * Fix to siLbit_array_op for 0 dimension arrays
+  * Fixed aref of short-float vector
+  * nconc can take dotted lists
+  * tailp returns t if first arg is nil
+  * Repair nconc and tailp fixes
+  * varargs->stdarg for gcc 3.3 and higher
+
+ -- Camm Maguire <camm@enhanced.com>  Sun,  9 Feb 2003 16:57:33 -0500
+
+gcl (2.5.0.cvs20020625-71) unstable; urgency=high
+
+  * ansi changes to sloop.lsp and conditions.lisp to fix symbol tests
+  * :definition-before-pcl -> definition-before-pcl
+  * Allow spaces in pathnames
+  * Significant fixes to gmp_num_log.c affecting bitwise ops on bignums
+  * Fix test segfault arising from faulty structure-type-included-type-
+    name in gcl-low.lisp ; Thanks Peter
+  * aref1 -> row-major-aref
+  * Fixes to certain numerical functions to handle denormalized floating
+    point numbers
+  * Number of argument check in IapplyVector
+  * Print offset bit vectors correctly
+  * Correct precision for formatting short and long doubles
+  * Added si::modf
+  * Do not trigger error in IapplyVector if max args is zero
+  * Fixes to with-package-iterator to cleanup compiler warnings
+  * :invalid-variable is a type error
+  * No max arg checking if &key or &rest present
+  * proper defun declarations in listlib.lsp
+  * class specifiers in typep, subtypep and coerce
+  * Corrections to allow-other-key processing in bind.c
+  * eval sfuns with argument error checking (in one place)
+  * copy-structure takes only one arg
+  * si::classp, si::class-of, and si::class-precedence-list overwritten
+    by pcl analogs when compiling ansi
+  * recompiled core lsp and compiler files
+  * restore dvi and html doc build for non-mingw
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 24 Jan 2003 13:55:11 -0500
+
+gcl (2.5.0.cvs20020625-70) unstable; urgency=high
+
+  * loop fixes
+  * configure fixes
+  * :common-lisp in *features*
+  * :definition-before-clcs -> definition-before-clcs
+  * protect against sgc segfault within fread in fasdump.c -- fixes m68k
+    acl2 build
+  * SGC for s390
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  5 Dec 2002 08:02:17 -0500
+
+gcl (2.5.0.cvs20020625-69) unstable; urgency=high
+
+  * eval fix
+  * \-mlong-calls for arm
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 25 Nov 2002 08:35:27 -0500
+
+gcl (2.5.0.cvs20020625-68) unstable; urgency=high
+
+  * enable emacsdir configure option
+  * reordered configure X lib detection for solaris
+  * redo integer declarations for gmp bignums to avoid compiler warnings
+  * Clear large and negative count errors for remove/delete
+  * Loop error fixes
+  * cache flush with page granularity on m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 21 Nov 2002 17:44:30 -0500
+
+gcl (2.5.0.cvs20020625-67) unstable; urgency=high
+
+  * Align cache flushes for powerpc and m68k on 32 byte boundaries,
+    should fix acl2 build
+  * Removed diagnostic SIGILL trapping in cmpaux.c
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 12 Nov 2002 23:25:49 -0500
+
+gcl (2.5.0.cvs20020625-66) unstable; urgency=high
+
+  * Fix SIGILL trap in cmpaux.c
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 11 Nov 2002 11:14:07 -0500
+
+gcl (2.5.0.cvs20020625-65) unstable; urgency=high
+
+  * Miscellaneous Freebsd patches
+  * non-recursive with-package-iterator
+  * map-into fill-pointer fixes
+  * changes to the user-init mechanism for portable acl2 build
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 10 Nov 2002 12:33:59 -0500
+
+gcl (2.5.0.cvs20020625-64) unstable; urgency=low
+
+  * Fix epsilon calculations again to reenable arm build
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  1 Nov 2002 07:08:33 -0500
+
+gcl (2.5.0.cvs20020625-63) unstable; urgency=low
+
+  * Add versioned dependency on the gcc used to build gcl
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 29 Oct 2002 16:20:22 -0500
+
+gcl (2.5.0.cvs20020625-62) unstable; urgency=low
+
+  * with-package-iterator modifications
+  * with-package-iterator uses labels to correctly provide for recursion
+  * Fix doc directory problem with install target in info/makefile
+  * Fix info dir setting in configure
+  * Priority extra
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 28 Oct 2002 23:45:07 -0500
+
+gcl (2.5.0.cvs20020625-61) unstable; urgency=low
+
+  * Placeholder support for optional condition in find-restart
+  * defpackage error on importing non-existent symbols
+  * working with-package-iterator macro
+  * various package errors reported as :package-error
+  * Destructuring-bind fixes
+  * delete-package error fix
+  * pcl functions use pcl-destructuring-bind for now -- fix later
+  * Trigger error if function calls use too many 'values'
+  * Maximum values increased to 50
+  * Enable previously failing tests in multiple-value-{setq,prog1}.lsp
+  * prototype for system_time_zone_helper
+  * Initial changes for solaris support
+  * make -> $(MAKE) in makefiles
+  * Incorporated main GCL (ANSI) Lisp Documentation in distribution
+
+ -- Camm Maguire <camm@m.enhanced.com>  Mon, 28 Oct 2002 04:31:33 -0500
+
+gcl (2.5.0.cvs20020625-60) unstable; urgency=low
+
+  * Still better acosh, courtesy of Barton Willis
+  * Better epsilon contant determination in ieee case
+  * Implicit tagbody in do-symbols and do-all-symbols
+  * Better epsilon handling in ieee case
+  * Add setf (values ... support
+  * invalid-function errors are type errors
+  * ecase and ccase take t and otherwise clauses
+  * ECASE/CCASE test fixes
+  * setf values fixes to use setf instead of setq when target value is
+    not a symbol
+  * ETYPECASE/CTYPECASE can take t and otherwise
+  * Backout of restart-clusters export
+  * fix handler.lisp
+  * Fix to bfd/GBC interaction
+
+ -- Camm Maguire <camm@m.enhanced.com>  Wed, 23 Oct 2002 08:38:08 -0400
+
+gcl (2.5.0.cvs20020625-59) unstable; urgency=low
+
+  * wrong number of arguments, keyword errors in lambda list bindings,
+    are program errors
+  * acosh fix at -1.0
+  * New config.sub and config.guess files and automatic updates in
+    binutils, gmp, and gmp3 subdirs
+
+ -- Camm Maguire <camm@m.enhanced.com>  Wed, 16 Oct 2002 11:38:56 -0400
+
+gcl (2.5.0.cvs20020625-58) unstable; urgency=low
+
+  * GENSYM fixes
+  * add complement and constantly
+  * import certain symbols into common-lisp package
+  * Fix makefile bug in install target
+  * Prepend instead of overwrite C_INCLUDE_PATH in shell wrapper
+  * More shell variable fixes in main makefile
+  * Corrected order of push and pushnew
+  * Set bfd_error appropriately
+  * Report function for package-error in condition-definitions.lisp;fix
+    internal-package-error deinition and handling;export *restart-
+    clusters* to user error code specified in handler-case;package-error
+    error formatting changes;dummy optional argument added to compute-
+    restarts (for now);Paul Dietz patch to defpackage.lsp fixing several
+    tests (thanks);export/unexport error handling fixes
+  * Recompile c,h and data files
+  * Fix number of argument errors in debug.lsp;documentation support for
+    packages in defpackage.lsp and module.lsp;do-symbols loops over
+    inherited symbols too in packlib.lsp
+  * Reworked EXTRAS variable handling in unixport/makefile
+  * Build-depend on autotools-dev and automatic update of config.sub and
+    config.guess;newer config.sub and config.guess in cvs tree; Closes:
+    #164526
+  * Remove stray comments in package.d
+  * elt errors of type type error
+  * bad-sequence limit returns type error
+
+ -- Camm Maguire <camm@m.enhanced.com>  Tue, 15 Oct 2002 15:39:19 -0400
+
+gcl (2.5.0.cvs20020625-57) unstable; urgency=low
+
+  * Capitalization changes to names of special characters;graphic-char-p
+    fix
+  * fix shadowing of existing symbols in package.d
+  * (simple-)base-string not a subtype of (simple-)vector
+  * add package-error condition(preliminary);hash conditions only by the
+    error name, not the format string;pass error types for both
+    correctable and non-correctable situations;eliminate duplicate
+    loading of clcs/package.lisp;Allow t doc-types in documentation
+    (returning nil) for now;fix final type errors in predlib.lsp
+    (regarding base-string);other error functions to pass continuable
+    errors (needs cleaning up);package designators can be
+    characters;delete-package added;make-package doesn't :use lisp by
+    default;in-package returns error if package does not exist instead
+    of making the package(relatively big change -- need to address
+    instances of in-package in .lsp code);call make-package on relevant
+    packages in init_gcl.lsp.in and pcl/sys-package.lisp;
+  * \-ffunction-sections for hppa with no-optimization -- enables first
+    maxima build here
+  * separate lisp variables to specify optimization flags for level 2
+    and 3
+  * symbol-name throws a type error on bad input
+  * tk8.2 -> tk8.3
+  * Fix bug in main makefile
+  * Newlines at end of test files
+
+ -- Camm Maguire <camm@m.enhanced.com>  Wed,  9 Oct 2002 15:04:41 -0400
+
+gcl (2.5.0.cvs20020625-56) unstable; urgency=high
+
+  * ansi-test corrections; extra-libs option to LINK function; LINK doc
+    change; subtypep and string changes to pass more tests
+  * Add method-combination and structure-object symbols for ansi;remove
+    unused variables in debug.lsp;remove in-package system from
+    defstruct.lsp;make-keyword and defmacro temporary function
+    placeholders in destructuring_bind.lsp;predlib changes to fix ansi-
+    test type errors;break-call takes 2 args (sys-proclaim.lisp);char
+    and char-set protected by string dimension not fillpointer in
+    string.d;fix bug in string.d:member_char for vector types;redefine
+    slot reader and writer functions in pcl/impl/gcl/gcl-low.lisp
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  5 Oct 2002 14:33:46 -0400
+
+gcl (2.5.0.cvs20020625-55) unstable; urgency=high
+
+  * Add LINK documentation to info pages
+  * 0 length last support
+  * make-sequence error check for 'null type and non-zero size
+  * Dotted-list support in member
+  * Reworked dotnil definitions and support macros
+  * add compile-file-pathname
+  * setup C_INCLUDE_PATH env variable in gcl shell wrapper
+  * POSITIVE-FIXNUM variable type,simple-error->type error where
+    indicated by various ansi tests, eq->eql in ldiff and tailp;proper
+    lists only in member et. al.
+  * rev keyword for member1 to reverse test arguments
+  * specific-error function to pass a given type of error from lisp
+  * set-exclusive-or preserves order of test arguments
+  * type-errors where appropriate in make-sequence
+  * nil keys accepted in remove/delete et.al.
+  * Reworked linking command line to ensure that certain symbols are
+    resolved in libgcl.a as opposed to certain system libraries, e.g.
+    gmp
+  * new gmp for m68k;no -ffloat-store for m68k a requested by user due
+    to performance impact (will alter test results in maxima
+    accordingly)
+  * libgclp.a for objects to be overriden by the C library if necessary
+  * readably support
+  * boolean type
+  * Missing ansi type support
+  * subtype code for boolean
+  * add missing ansi types as known types
+  * other preliminary subtype code for missing ansi types
+  * rework result-type check in make-sequence
+  * :element-type support in make-string (preliminary)
+  * (char ignores fill-pointer
+  * remove -O4 from debian/rules
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  3 Oct 2002 01:52:45 -0400
+
+gcl (2.5.0.cvs20020625-54) unstable; urgency=high
+
+  * Fix delete et. al. :from-end error; typo in gbc.c
+  * character and string-char equal in type hierarchy
+  * concatenate/make-sequence fixes
+  * merge takes nil key argument
+  * make-sequence checks size against result type
+  * install endp macro for dotted list support
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 24 Sep 2002 14:57:44 -0400
+
+gcl (2.5.0.cvs20020625-53) unstable; urgency=high
+
+  * Sleep with (in principle) microsecond precision
+  * nth-value macro added
+  * \-ffloat\-store and warning cleanups for m68k
+  * Compile hppa with debugging, will get a build but a broken one, ok
+    for now, Closes: #159591
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 20 Sep 2002 09:48:35 -0400
+
+gcl (2.5.0.cvs20020625-52) unstable; urgency=high
+
+  * Fixed gcc version bug in debian/rules
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 18:00:50 -0400
+
+gcl (2.5.0.cvs20020625-51) unstable; urgency=high
+
+  * static gmp for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 09:33:03 -0400
+
+gcl (2.5.0.cvs20020625-50) unstable; urgency=high
+
+  * Reworked static gmp target for new libgcl.a;gcc-3.2 for
+    hppa,ia64,and arm;libgmp2-dev for m68k;no rsym with
+    dynsysbfd;build_symbol_table earlier to shrink table size;
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 00:39:17 -0400
+
+gcl (2.5.0.cvs20020625-49) unstable; urgency=high
+
+  * Use old gmp for m68k until can pin down test failure with gmp3
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 10 Sep 2002 00:36:10 -0400
+
+gcl (2.5.0.cvs20020625-48) unstable; urgency=high
+
+  * Rework build and install so that custom images can be made without
+    the source tree, even when using dlopen
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  9 Sep 2002 23:26:47 -0400
+
+gcl (2.5.0.cvs20020625-47) unstable; urgency=high
+
+  * Install cmpinclude.h in system include directory
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Aug 2002 23:31:55 -0400
+
+gcl (2.5.0.cvs20020625-46) unstable; urgency=high
+
+  * Keep a *much* smaller piece of gmp.h in cmpinclude.h, reducing image
+    size by almost 100k
+  * Check for _SHORT_LIMB and _LONG_LONG_LIMB in configure
+  * Remove build specific include directories from compile command in
+    final executable
+  * Include local regexp.h explicitly in cmpinclude.h, to eliminate
+    intereference with system regexp.h, and to fix bug in which gcl
+    compilation depended on existing build directories
+  * Correctly add directory paths to extra gmp file targets in
+    unixport/makefile for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Aug 2002 21:56:28 -0400
+
+gcl (2.5.0.cvs20020625-45) unstable; urgency=high
+
+  * Fix typo in rshift target for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 28 Aug 2002 18:02:00 -0400
+
+gcl (2.5.0.cvs20020625-44) unstable; urgency=high
+
+  * Handle second argument to last; treat dotted lists correctly in
+    ldiff et. al., tailp fix
+  * optional key argument for assoc-if et.al.;eval getf deflt if in setf
+  * Fix infinite loop in assoc-if et.al.
+  * X_LIBS and X_CFLAGS determination in configure script
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 21 Aug 2002 18:22:37 -0400
+
+gcl (2.5.0.cvs20020625-43) unstable; urgency=high
+
+  * Larger ihs stack;fix array-total-size-limit;check negative
+    fillp;allow #P
+  * don't make common_lisp package when not configuring with --enable-
+    ansi
+  * Patch gmp3/mpn/m68k/{l,r}shift.asm, restore gmp3 to m68k build
+  * Dynamic libgmp support, overriding with patched functions from local
+    source where necessary
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 18 Aug 2002 12:10:55 -0400
+
+gcl (2.5.0.cvs20020625-42) unstable; urgency=high
+
+  * copy ansidecl.h and symcat.h in h/ for local bfd builds
+  * localize bfd.h includes to sfaslbfd.c
+  * take bfd/po out of the build loop
+  * import xgcl-2, but don't build by default
+  * oldgmp configure option, and made default for m68k as temporary
+    workaround
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 12 Aug 2002 23:49:09 -0400
+
+gcl (2.5.0.cvs20020625-41) unstable; urgency=high
+
+  * Minor rules revision for i164
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 13:49:03 -0400
+
+gcl (2.5.0.cvs20020625-40) unstable; urgency=high
+
+  * revamp CONST configure test for certain bfd versions
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 12:31:35 -0400
+
+gcl (2.5.0.cvs20020625-39) unstable; urgency=high
+
+  * gcc-3.1 for ia64 fixes a compilation bug in num_co.c for -O3 and
+    higher -- code takes address of a variable kept in a register
+  * compile num_log.c with -O only on ia64 to work around compiler bug
+
+ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 08:53:03 -0400
+
+gcl (2.5.0.cvs20020625-38) unstable; urgency=high
+
+  * check for long c statck addresses, fixing NULL_OR_ON_C_STACK macro
+    for ia64
+  * Remove error in clean target
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 10 Aug 2002 13:20:08 -0400
+
+gcl (2.5.0.cvs20020625-37) unstable; urgency=high
+
+  * Replace tmpnam and mktemp with less dangerous mkstemp
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 19:45:52 -0400
+
+gcl (2.5.0.cvs20020625-36) unstable; urgency=high
+
+  * Fix rsym compilation when not using bfd
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 19:10:16 -0400
+
+gcl (2.5.0.cvs20020625-35) unstable; urgency=high
+
+  * Don't build bfd/po subdir
+  * Build-depend on automake and gettext
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 14:36:58 -0400
+
+gcl (2.5.0.cvs20020625-34) unstable; urgency=high
+
+  * fix zero length array support
+  * reverse configure order for bfd and libiberty
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 11:52:38 -0400
+
+gcl (2.5.0.cvs20020625-33) unstable; urgency=high
+
+  * chmod +x for subconfigures
+  * dlopen for appropriate arches in debian/rules
+  * add custreloc configure option
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 10:16:55 -0400
+
+gcl (2.5.0.cvs20020625-32) unstable; urgency=high
+
+  * Local bfd build option to prepare for arch-specific patches
+  * Try default gmp3 build on m68k
+  * Fix merge-pathnames
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 00:13:16 -0400
+
+gcl (2.5.0.cvs20020625-31) unstable; urgency=high
+
+  * #undef bool in object.h for some gcc-3.1 installations
+  * New number_tan implementation using real tan, so optimized compiled
+    code will find symbol in -lm
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  6 Aug 2002 18:37:52 -0400
+
+gcl (2.5.0.cvs20020625-30) unstable; urgency=high
+
+  * fix bug in cmpif.lsp and recompile compiler
+  * \-O6 \-fomit\-frame\-pointer for Linux, speed gain of ~ 10%
+  * clean saved_gcl_pcl
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  5 Aug 2002 16:34:33 -0400
+
+gcl (2.5.0.cvs20020625-29) unstable; urgency=high
+
+  * Back out of hppa assembler register flush for hppa, apparently issue
+    is cleared by long/object function declaration fix
+  * Remove ansi2knr.1 man page, Closes: #155067
+  * hppa still has gc leak, possibly due to faulty setjmp.  Try Lamont
+    Jones' latest assembler to flush regs
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  2 Aug 2002 20:50:21 -0400
+
+gcl (2.5.0.cvs20020625-28) unstable; urgency=high
+
+  * SGC support for alpha
+  * generic gmp3 build for m68k
+  * compiler changes to declare all functions as returning object, with
+    functions that actually return long being cast appropriately
+  * back out of m68k hack in eval.c and funlink.c
+
+ -- Camm Maguire <camm@enhanced.com>  Fri,  2 Aug 2002 18:22:04 -0400
+
+gcl (2.5.0.cvs20020625-27) unstable; urgency=high
+
+  * Use generic lshift.c in gmp3 for m68k
+  * use SGC for ia64
+  * m68k workaround, cast (object(*)()) to (long(*)()) in funlink.c and
+    eval.c
+  * GBC register spiil asm for hppa
+  * fix hash_equal declaration error in hash.d
+
+ -- Camm Maguire <camm@enhanced.com>  Thu,  1 Aug 2002 18:12:49 -0400
+
+gcl (2.5.0.cvs20020625-26) unstable; urgency=high
+
+  * Remove extra load of tkl.o in install target of main makefile
+  * gcc-3.1 for hppa
+  * Remove gcc version spec for m68k
+  * \-fPIC for hppa, needed for dlopen
+  * cleanup gcc 3.1 warning in funlink.c
+  * cc instead of ld for -shared linking in fasldlsym.c (needed for
+    hppa)
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 18:46:54 -0400
+
+gcl (2.5.0.cvs20020625-25) unstable; urgency=high
+
+  * Move chmod +x gmp3/* into debian/rules
+  * Remove gclm.bat from Debian package
+  * Build-Depend on autoconf, Closes: #154909
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 09:44:20 -0400
+
+gcl (2.5.0.cvs20020625-24) unstable; urgency=high
+
+  * chmod +x gmp3/configure
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 07:55:17 -0400
+
+gcl (2.5.0.cvs20020625-23) unstable; urgency=high
+
+  * 64bit SGC support
+  * SGC on by default for sparc-linux and mips(el)-linux
+  * Optimized logxor funtion
+  * Check for MP_LIMB_SIZE in fasdump.c, for 64bit support
+  * gbc fix for ia64
+  * gmp3 import for ia64
+  * system bzero, bcmp, and bcopy function prototypes
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Jul 2002 23:11:58 -0400
+
+gcl (2.5.0.cvs20020625-22) unstable; urgency=high
+
+  * ElfW macros in rsym*.c for 64bit
+  * Allow for 8 byte gmp mp_limbs
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 25 Jul 2002 18:52:37 -0400
+
+gcl (2.5.0.cvs20020625-21) unstable; urgency=high
+
+  * Support for dlopen object loading where bfd is not yet working --
+    ./configure --enable-dlopen
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 25 Jul 2002 15:08:05 -0400
+
+gcl (2.5.0.cvs20020625-20) unstable; urgency=high
+
+  * Cleanups for --disable-bfd option
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Jul 2002 15:05:28 -0400
+
+gcl (2.5.0.cvs20020625-19) unstable; urgency=high
+
+  * 64bit fixes
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Jul 2002 12:16:42 -0400
+
+gcl (2.5.0.cvs20020625-18) unstable; urgency=high
+
+  * misc. lintian cleanups, mostly for 64 bit
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 23 Jul 2002 23:35:03 -0400
+
+gcl (2.5.0.cvs20020625-17) unstable; urgency=high
+
+  * Fixed typeo in error.c preventing arm compilation
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 22 Jul 2002 17:18:18 -0400
+
+gcl (2.5.0.cvs20020625-16) unstable; urgency=high
+
+  * Fix bad on_stack_list_vector args
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 22 Jul 2002 16:10:16 -0400
+
+gcl (2.5.0.cvs20020625-15) unstable; urgency=high
+
+  * More lint changes for sundry arches
+  * Fixed bug in Iapply_ap
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 23:40:33 -0400
+
+gcl (2.5.0.cvs20020625-14) unstable; urgency=high
+
+  * include stdarg.h when defining _GNU_SOURCE
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 18:47:43 -0400
+
+gcl (2.5.0.cvs20020625-13) unstable; urgency=high
+
+  * Proper va_dcl declarations
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 10:40:02 -0400
+
+gcl (2.5.0.cvs20020625-12) unstable; urgency=high
+
+  * cvs updates for missing ptrdiff_t
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 08:41:37 -0400
+
+gcl (2.5.0.cvs20020625-11) unstable; urgency=high
+
+  * cvs changes to compile cleanly with -Wall
+
+ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 02:59:33 -0400
+
+gcl (2.5.0.cvs20020625-10) unstable; urgency=high
+
+  * Architecture any, though still have some issues
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 19:02:09 -0400
+
+gcl (2.5.0.cvs20020625-9) unstable; urgency=high
+
+  * cvs commits for 64bit support
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 18:01:21 -0400
+
+gcl (2.5.0.cvs20020625-8) unstable; urgency=high
+
+  * NULL_OR_ON_C_STACK macro correction for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 14:37:48 -0400
+
+gcl (2.5.0.cvs20020625-7) unstable; urgency=high
+
+  * arm is bigendian
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 10 Jul 2002 18:04:22 -0400
+
+gcl (2.5.0.cvs20020625-6) unstable; urgency=high
+
+  * cvs updates for arm build
+
+ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Jul 2002 16:09:26 -0400
+
+gcl (2.5.0.cvs20020625-5) unstable; urgency=high
+
+  * CC environment variable setting in debian/rules to aid in porting
+  * gcc 2.95 for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Jul 2002 23:00:23 -0400
+
+gcl (2.5.0.cvs20020625-4) unstable; urgency=high
+
+  * gcc 3.0 for arm
+  * cachectl header for m68k
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  1 Jul 2002 15:47:53 -0400
+
+gcl (2.5.0.cvs20020625-3) unstable; urgency=high
+
+  * Better libbfd detection for arm/alpha
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 26 Jun 2002 17:27:21 -0400
+
+gcl (2.5.0.cvs20020625-2) unstable; urgency=high
+
+  * s390 support
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 25 Jun 2002 21:25:35 -0400
+
+gcl (2.5.0.cvs20020625-1) unstable; urgency=high
+
+  * CVS updates, new s390 arch
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 25 Jun 2002 19:26:36 -0400
+
+gcl (2.5.0.cvs20020610-2) unstable; urgency=high
+
+  * cvs updates
+
+ -- Camm Maguire <camm@enhanced.com>  Thu, 13 Jun 2002 08:42:32 -0400
+
+gcl (2.5.0.cvs20020610-1) unstable; urgency=high
+
+  * cvs updates
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 12 Jun 2002 23:04:57 -0400
+
+gcl (2.5.0.cvs20020523-2) unstable; urgency=high
+
+  * configure updates for better tk detection
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 24 May 2002 18:50:22 -0400
+
+gcl (2.5.0.cvs20020523-1) unstable; urgency=high
+
+  * New upstream release
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 24 May 2002 18:50:22 -0400
+
+gcl (2.5.0.cvs20020429-1) unstable; urgency=high
+
+  * Build-Depend on tk8.2-dev, Closes: #144330
+  * New cvs updates
+  * Added sparc to arch list, Closes: #143465
+
+ -- Camm Maguire <camm@enhanced.com>  Mon, 29 Apr 2002 23:07:36 -0400
+
+gcl (2.5.0.cvs20020219-2) unstable; urgency=medium
+
+  * flavor ->debian-emacs-flavor in emacsen-startup
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  4 Mar 2002 14:29:59 -0500
+
+gcl (2.5.0.cvs20020219-1) unstable; urgency=medium
+
+  * Updated package descriptions, Closes: #134402
+  * Static linking of libbfd, Closes: #134647
+  * Gcl currently only available on i386, arm and m68k as specified in
+    the Architecture control field, Closes: #133912
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 19 Feb 2002 12:04:29 -0500
+
+gcl (2.5.0.cvs-3) unstable; urgency=medium
+
+  * Build-depend on texi2html, Closes: #133699
+
+ -- Camm Maguire <camm@enhanced.com>  Wed, 13 Feb 2002 16:22:35 -0500
+
+gcl (2.5.0.cvs-2) unstable; urgency=medium
+
+  * Put in versioned dependency on binutils for libbfd support, rebuilt
+    with latest binutils, Closes: #133004
+
+ -- Camm Maguire <camm@enhanced.com>  Tue, 12 Feb 2002 13:19:12 -0500
+
+gcl (2.5.0.cvs-1) unstable; urgency=medium
+
+  * Latest patches from CVS, enabling libbfd relocations, among other
+    things
+  * /etc/emacs/site-start.d/50gcl.el as conffile, Closes: #132137
+  * limited arm and m68k support
+
+ -- Camm Maguire <camm@enhanced.com>  Mon,  4 Feb 2002 09:32:29 -0500
+
+gcl (2.5.0-1) unstable; urgency=medium
+
+  * New maintainer
+  * New upstream release
+  * New release so far builds only on i386, Closes: #116070, Closes:
+    #123371
+  * New release so far builds only on i386, Closes: #115041
+  * Gcl must currently use its own copy of gmp, as the upstream version
+    of gmp uses malloc, which interferes with gcl's garbage collection
+    and relocation scheme.  The change from malloc to alloca has been
+    suggested to upstream gmp developers. Closes: #108910
+  * Tcl/Tk support now in. Closes: #113197
+
+ -- Camm Maguire <camm@enhanced.com>  Fri, 21 Dec 2001 00:03:43 -0500
+
+gcl (2.4.0-3) unstable; urgency=medium
+
+  * Make gcl use libgmp3 package. (closes: #108910)
+  * Remove tk support. (closes: #108909)
+  * Fix stupid missing dependency line. (closes: #108907, #108908)
+  * Removed readme.mingw from the debian package, this package is not compiled under
+    mingw (windows gcc port).
+  * Close ITA bug. (closes: #112312)
+
+ -- Baruch Even <baruch@debian.org>  Sat, 22 Sep 2001 00:27:14 +0300
+
+gcl (2.4.0-2) unstable; urgency=low
+
+  * Change tclsh Build-Depends to tcl8.0 because apt is broken. (closes: #99261)
+
+ -- JP Sugarbroad <taral@taral.net>  Wed, 30 May 2001 14:34:53 -0500
+
+gcl (2.4.0-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- JP Sugarbroad <taral@taral.net>  Sun, 13 May 2001 20:31:01 -0500
+
+gcl (2.3.7+beta3-3) unstable; urgency=low
+
+  * Move gcl-doc to section doc (closes: #78666)
+
+ -- JP Sugarbroad <taral@taral.net>  Sun, 13 May 2001 20:26:28 -0500
+
+gcl (2.3.7+beta3-2) unstable; urgency=low
+
+  * Remove alpha from arch list
+  * Move tcl/tk from Depends to Suggests
+
+ -- JP Sugarbroad <taral@taral.net>  Fri,  4 May 2001 16:24:11 -0500
+
+gcl (2.3.7+beta3-1) unstable; urgency=low
+
+  * New maintainer
+  * Repackaged with debhelper (closes: #42045, #86097, #91475, #91478)
+  * New upstream release (closes: #59577, #71096)
+  * Added sparc+alpha, removed m68k (closes: #87407)
+
+ -- JP Sugarbroad <taral@taral.net>  Mon, 30 Apr 2001 19:07:49 -0500
+
+gcl (2.2.1-6) unstable; urgency=low
+
+  * Disable stripping of "saved_gcl" binary. (#45778)
+
+ -- Steve Dunham <dunham@debian.org>  Fri, 24 Sep 1999 14:39:15 -0400
+
+gcl (2.2.1-5) unstable; urgency=low
+
+  * Fix m68k build
+
+ -- Steve Dunham <dunham@debian.org>  Tue,  6 Jul 1999 09:45:09 -0400
+
+gcl (2.2.1-4) unstable; urgency=low
+
+  * Fix bug #31718
+
+ -- Steve Dunham <dunham@debian.org>  Fri,  2 Jul 1999 11:11:12 -0400
+
+gcl (2.2.1-3) unstable; urgency=low
+
+  * Add m68k patches
+
+ -- Steve Dunham <dunham@debian.org>  Wed, 16 Dec 1998 14:25:46 -0500
+
+gcl (2.2.1-2) unstable; urgency=low
+
+  * Compile against libc6.  New maintainer.
+
+ -- Steve Dunham <dunham@cps.msu.edu>  Wed,  5 Nov 1997 10:09:12 -0500
+
+gcl (2.2.1-1) unstable; urgency=low
+
+  * New upstream release; suggests tcl76, tk42.
+  * gcl-doc contains gcl-si and gcl-tk info pages.
+  * debian/rules: clean target removes temporary files from h and o
+    subdirectories (bug #5984).
+
+ -- Karl Sackett <krs@debian.org>  Fri, 3 Jan 1997 10:16:40 -0600
+
+gcl (2.2-5) unstable; urgency=low
+
+  * Converted package to 2.1.1.0 standard.
+  * Stripped gcltkaux (bug #5074).
+  * gcl-si and gcl-tk info pages converted to HTML.
+
+ -- Karl Sackett <krs@debian.org>  Tue, 5 Nov 1996 13:30:30 -0600
+
+2.2-4
+        * add-defs: patched locates for tk.tcl, init.tcl 
+        * gcl-tk/tkAppInit.c: patched for tk4.1 support
+        * gcl-tk/tkMain.c: patched for tk4.1 support
+2.2-3
+        * Debian support files now partily architecture independent.
+          There are, however, no add-defs files except for 386-linux.
+        * Rebuilt package to correct corrupted upload problem.
+2.2-2
+        * Removed tk support from distribution.  This was written to
+          use tk-3.6 and doesn't support tk-4.0 or tk-4.1.  I am not aware
+          of any plans to upgrade the code. (Closes bug #2865)
+2.2-1
+        * Added Debian support files
+        * h/386-linux.defs: set OFLAG = -O2
+        * h/386-linux.h: undid patch that swaped signal.h for sigcontext.h
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..4991e92
--- /dev/null
+++ b/control
@@ -0,0 +1,82 @@
+Source: gcl27
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
+Build-Depends-Indep: dh-elpa
+Standards-Version: 4.5.0
+
+Package: gcl27
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
+Suggests: gcl27-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself.  Documentation 
+ is provided in the gcl-doc package.
+
+Package: gcl27-tk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains a graphical interface based on the popular
+ TCL/TK toolkit.
+
+Package: elpa-gcl27
+Architecture: all
+Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
+Section: lisp
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains an emacs interface to GCL.
+
+Package: gcl27-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ system internals.
+
+Package: gcl27-tk-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ graphical interface currently implemented in Tcl/Tk.
diff --git a/control_ b/control_
new file mode 100644 (file)
index 0000000..48ac25b
--- /dev/null
+++ b/control_
@@ -0,0 +1,39 @@
+Source: gcl
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo
+Standards-Version: 4.5.0
+
+Package: gcl
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
+Breaks: emacsen-common (<< 2.0.0)
+Suggests: gcl-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself.  Documentation 
+ is provided in the gcl-doc package.
+
+Package: gcl-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains Documentation in info format of both the
+ system internals, as well as the graphical interface currently
+ implemented in Tcl/Tk.
diff --git a/control_27 b/control_27
new file mode 100644 (file)
index 0000000..4991e92
--- /dev/null
@@ -0,0 +1,82 @@
+Source: gcl27
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
+Build-Depends-Indep: dh-elpa
+Standards-Version: 4.5.0
+
+Package: gcl27
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
+Suggests: gcl27-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself.  Documentation 
+ is provided in the gcl-doc package.
+
+Package: gcl27-tk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains a graphical interface based on the popular
+ TCL/TK toolkit.
+
+Package: elpa-gcl27
+Architecture: all
+Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
+Section: lisp
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains an emacs interface to GCL.
+
+Package: gcl27-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ system internals.
+
+Package: gcl27-tk-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ graphical interface currently implemented in Tcl/Tk.
diff --git a/control_cvs b/control_cvs
new file mode 100644 (file)
index 0000000..ee7f6e1
--- /dev/null
@@ -0,0 +1,39 @@
+Source: gclcvs
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, gcc-11
+Standards-Version: 4.5.0
+
+Package: gclcvs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
+Breaks: emacsen-common (<< 2.0.0)
+Suggests: gclcvs-doc
+Description: GNU Common Lisp compiler, CVS snapshot
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself.  Documentation 
+ is provided in the gclcvs-doc package.
+
+Package: gclcvs-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Description: Documentation for GNU Common Lisp, CVS snapshot
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set 
+ forth in the book "Common Lisp, the Language I".  It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains Documentation in info format of both the
+ system internals, as well as the graphical interface currently
+ implemented in Tcl/Tk.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..fd70c5a
--- /dev/null
+++ b/copyright
@@ -0,0 +1,97 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: *
+Copyright: 1989 The University of Texas at Austin,William F. Schelter
+          1989 Free Software Foundation
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: cmpnew/*
+Copyright: 1989 The University of Texas at Austin,William F. Schelter
+          1994 M. Hagiya,T. Yuasa,William F. Schelter
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: elisp/*
+Copyright: 1994,1998 William F. Schelter
+          1985-1988 Free Software Foundation
+License: GPL-2
+
+Files: gcl-tk/*
+Copyright: 1994 Rami el Charif,William F. Schelter
+          1996 Sun Microsystems
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: h/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: debian/*
+Copyright: 2024 Camm Maguire
+License: GPL-2
+
+Files: ansi-tests/*
+Copyright: 2004 Paul Dietz
+License: LGPL-2
+
+Files: ansi-tests/rt.lsp
+Copyright: 1990 Massachusetts Institute of Technology
+License: public-domain
+
+Files: info/*
+Copyright: 1994 William F. Schelter
+License: GPL-2
+
+Files: lsp/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
+          1985,1986,1989,1990 William F. Schelter
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: mod/gcl_defpackage.lsp
+Copyright: 1990,1991 lsp The Boeing Company
+          2024 Camm Maguire
+License: public-domain
+
+Files: o/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter,Rami el Charif
+          1991 William F. Schelter
+          1985-1994 Free Software Foundation
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: o/gcl_readline.d
+Copyright: 2000 Tuukka Toivonen
+          2024 Camm Maguire
+License: LGPL-2
+
+Files: pcl/*
+Copyright: 1985-1990 Xerox Corporation
+          1990 Franz Inc.
+          2024 Camm Maguire
+License: public-domain
+
+Files: xgcl-2/*
+Copyright: 1987 Digital Equipment Corporation,Massachusetts Institute of Technology
+          1994 Hiep Huu Nguyen,William F. Schelter,The University of Texas at Austin
+          1994,1995,1996,2006,2007,2008,2010 Gordon S. Novak Jr.,The University of Texas at Austin
+          1992 The University of Texas at Austin
+          1989 Free Software Foundation
+          2006 Hiep Huu Nguyen
+          2024 Camm Maguire
+License: GPL-2
+
+License: GPL-2
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License Version 2 can be found in
+ /usr/share/common-licenses/GPL-2.
+
+License: LGPL-2
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License Version 2 can be found in
+ /usr/share/common-licenses/LGPL-2.
+
+License: public-domain
+ All permissions granted.
diff --git a/debian-autoloads.el b/debian-autoloads.el
new file mode 100644 (file)
index 0000000..ebf323f
--- /dev/null
@@ -0,0 +1,4 @@
+;;;###autoload
+(autoload 'run "gcl" "" t)
+;;;###autoload
+(autoload 'dbl "dbl" "" t)
diff --git a/gcl-pkg.el.in b/gcl-pkg.el.in
new file mode 100644 (file)
index 0000000..2dfc613
--- /dev/null
@@ -0,0 +1,3 @@
+
+(define-package "gcl@EXT@" "@VR@"
+  "Emacs mode for running GCL.")
diff --git a/gcl.sh b/gcl.sh
new file mode 100755 (executable)
index 0000000..b172b72
--- /dev/null
+++ b/gcl.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+EXT=@EXT@
+VERS=@VERS@
+
+. /etc/default/gcl$EXT
+if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
+if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
+
+DIR=/usr/lib/gcl-$VERS;
+
+if [ "$GCL_ANSI" = "" ] ; then 
+    if [ "$GCL_PROF" = "" ] ; then
+       EXE=saved_gcl;
+    else
+       EXE=saved_gcl_gprof;
+    fi
+else
+    if [ "$GCL_PROF" = "" ] ; then
+       EXE=saved_ansi_gcl;
+    else
+       EXE=saved_ansi_gcl_gprof;
+    fi
+fi
+SYS=$DIR/unixport
+
+exec $SYS/$EXE -dir $SYS/ -libdir $DIR/ \
+   -eval '(setq si::*allow-gzipped-file* t)' \
+   -eval '(setq si::*tk-library* "/usr/lib/tk@TKVERS@")' \
+   -eval '(setq si::*default-info-files* (list "gcl@EXT@-si.info" "gcl@EXT@-tk.info" "gcl@EXT@.info"))' \
+     "$@"
+
+# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)"
diff --git a/gcl27.templates b/gcl27.templates
new file mode 100644 (file)
index 0000000..be351d0
--- /dev/null
@@ -0,0 +1,26 @@
+Template: gcl27/default_gcl_ansi
+Type: boolean
+_Description: Use the work-in-progress ANSI build by default?
+ GCL is in the process of providing an ANSI compliant image in addition to
+ its traditional CLtL1 image still in production use.  Please see the
+ README.Debian file for a brief description of these terms.  Setting this
+ variable will determine which image you will use by default on executing
+ 'gcl27'.  You can locally override this choice by setting the GCL_ANSI
+ environment variable to any string but "no" for the ANSI build, and to
+ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The
+ flavor of the build in force will be reported in the initial startup
+ banner.
+
+Template: gcl27/default_gcl_prof
+Type: boolean
+_Description: Use the profiling build by default?
+ GCL now has optional support for profiling via gprof.  Please see the
+ documentation
+ for si::gprof-start and si::gprof-quit for details. As this build is slower
+ than builds without gprof support, it is not recommended for final production use.
+ You can locally override the default choice made here
+ by setting the
+ GCL_PROF environment variable to any non-empty string for profiling
+ support, and to the empty string for the more optimized builds, e.g.
+ GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in
+ the initial startup banner.
diff --git a/in.gcl-clc.sh b/in.gcl-clc.sh
new file mode 100644 (file)
index 0000000..e91b647
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/sh
+progname=$(basename $0)
+clc_src=/usr/share/common-lisp/source
+
+if test ! -f $clc_src/common-lisp-controller/common-lisp-controller.lisp ; then
+    echo "Cannot find common-lisp-controller." 1>&2
+    echo "Please report this as a bug." 1>&2
+    exit 1
+fi
+
+export GCL_ANSI=true
+gcl_bin=/usr/bin/gcl@EXT@ # is better than $(which gcl)
+
+command=$1
+shift
+
+build_error()
+{
+       echo "Error building $1" 1>&2
+       exit 1
+}
+
+if [ "$command" = "make-user-image" ] ; then
+    echo $progname Building image with $1 ...
+    if test ! -r $1; then 
+       echo "Trying to make user image: Cannot access file $1" 1>&2
+       exit 1
+    fi 
+    
+    $gcl_bin <<!MAKE_USER_IMAGE!
+(progn    
+  (load \"$1\") 
+  (si:save-system
+    (make-pathname :name \"gcl@EXT@_$1_image\"  :defaults (user-homedir-pathname)))
+  (quit 1))" || build_error $1
+!MAKE_USER_IMAGE!
+    test $? = 0 || build_error make-user-image
+    exit 0
+fi
+
+for PROF in n y; do
+    
+    if [ "$PROF" = "y" ] ; then
+       export GCL_PROF=t
+    else
+       export GCL_PROF=
+    fi
+
+    if [ -f $gcl_bin ] ; then
+       image=$($gcl_bin -batch -eval '(princ (namestring (merge-pathnames (make-pathname :name "saved_clc_gcl") (pathname si:*system-directory*))))'</dev/null)
+       gcl_clc=$($gcl_bin -batch -eval '(princ (namestring (make-pathname :directory (append (pathname-directory (pathname "/usr/lib/common-lisp/")) (last (pathname-directory (pathname si::*lib-directory*)))))))'</dev/null)
+    else
+       echo "Cannot find gcl." 1>&2
+       exit 1
+    fi
+
+    case $command in
+       rebuild)
+           while test -x $gcl_bin -a -n "$1"
+             do
+             echo $progname Rebuilding $1 ...
+             echo '
+               (setq *compile-print* t)
+               (setq *compile-verbose* t)
+               (setq *load-verbose* t)
+               (setq *require-verbose* t)
+               (ignore-errors (clc:compile-library (quote '"$1"'))
+                   (lisp:quit 0))
+               (lisp:quit 1)
+               ' | $gcl_bin || build_error $1
+             shift
+           done 
+           ;;
+
+       remove)
+           while test -n "$1"
+             do
+             echo $progname Removing $1
+             rm -rf "${gcl_clc}$1"
+             shift
+           done
+           ;;
+       
+       install-clc)
+           if ! [ -e /etc/default/$(basename $gcl_bin) ] ; then
+               echo $(basename $gcl_bin) not configured, aborting
+               exit 5
+           fi
+           echo $progname Uninstalling clc image and purging object cache ...
+           test -x $gcl_bin || {
+               echo "Cannot install as there is no GCL"
+               exit -1
+           }
+           rm -rf $gcl_clc
+           mkdir -p $gcl_clc
+#          chown cl-builder.cl-builder $gcl_clc
+           
+           rm -f $image
+
+           echo $progname Installing clc as $image ...
+           if test -x $gcl_bin; then
+               $gcl_bin <<!INSTALL_CLC!
+(in-package :common-lisp-user)
+(load "$clc_src/common-lisp-controller/common-lisp-controller.lisp")
+
+(in-package :common-lisp-controller)
+(init-common-lisp-controller-v4 "$(basename $gcl_clc)")
+
+(when (probe-file "/etc/lisp-config.lisp")
+  (load "/etc/lisp-config.lisp"))
+
+(si:save-system "$image"))
+!INSTALL_CLC!
+               test $? = 0 || build_error send-clc-command
+           fi
+           ;;
+
+       remove-clc)
+           echo $progname Uninstalling clc and restoring pristine orig image ...
+           rm -f $image
+           ;;
+       
+       purge-clc)
+           echo $progname Uninstalling clc image and purging object cache ...
+           rm -f $image
+           rm -rf $gcl_clc
+           ;;
+
+       *)
+           expr $command : '.*\(help\).*' > /dev/null 2>&1 || \
+               echo "$progname: Unknown command '$command'" 1>&2
+           echo "Usage: $progname <command>" 1>&2 
+           echo "Where <command> is one of:" 1>&2
+           echo "  install-clc, remove-clc," 1>&2
+           echo "  rebuild <package>*, remove <package>*," 1>&2
+           echo "  or make-user-image <load-file>" 1>&2
+           echo "And <package> is a cl-debpkg (e.g. cl-rt)" 1>&2
+           echo "  with a defsystem/asdf definition." 1>&2
+           exit 1
+           ;;
+    esac
+    
+done
+
+exit 0
diff --git a/in.gcl-doc.README.Debian b/in.gcl-doc.README.Debian
new file mode 100644 (file)
index 0000000..b8d01a6
--- /dev/null
@@ -0,0 +1,9 @@
+New in 2.6.2
+------------
+
+The gcl.texi files and the resulting html, info, and pdf outputs have
+been removed pending an enquiry into the copyright and license status
+of the dpANS documents upon which they are presumably based.
+
+
+ -- Camm Maguire <camm@debian.org>, Fri,  9 May 2014 19:08:59 +0000
diff --git a/in.gcl-doc.doc-base.main b/in.gcl-doc.doc-base.main
new file mode 100644 (file)
index 0000000..fa8c869
--- /dev/null
@@ -0,0 +1,15 @@
+Document: gcl@EXT@-doc
+Title: GNU Common Lisp Documentation
+Author: W. Schelter
+Abstract: A Common Lisp compiler and interpreter based on C
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/*.html
diff --git a/in.gcl-doc.doc-base.si b/in.gcl-doc.doc-base.si
new file mode 100644 (file)
index 0000000..7760ae1
--- /dev/null
@@ -0,0 +1,15 @@
+Document: gcl@EXT@-si-doc
+Title: GNU Common Lisp Documentation -- System Internals 
+Author: W. Schelter
+Abstract: Documentation on GCL-specific Lisp system functions
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/*.html
diff --git a/in.gcl-doc.doc-base.xgcl b/in.gcl-doc.doc-base.xgcl
new file mode 100644 (file)
index 0000000..447671a
--- /dev/null
@@ -0,0 +1,15 @@
+Document: gcl@EXT@-xgcl-doc
+Title: GNU Common Lisp Documentation -- System Internals 
+Author: W. Schelter
+Abstract: Documentation on GCL-specific Lisp system functions
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/*.html
diff --git a/in.gcl-doc.docs b/in.gcl-doc.docs
new file mode 100644 (file)
index 0000000..e845566
--- /dev/null
@@ -0,0 +1 @@
+README
diff --git a/in.gcl-doc.info b/in.gcl-doc.info
new file mode 100644 (file)
index 0000000..9b70ccb
--- /dev/null
@@ -0,0 +1,3 @@
+debian/tmp/usr/share/info/gcl@EXT@-si.info*
+debian/tmp/usr/share/info/gcl@EXT@.info*
+debian/tmp/usr/share/info/gcl@EXT@-dwdoc.info*
diff --git a/in.gcl-doc.install b/in.gcl-doc.install
new file mode 100644 (file)
index 0000000..b7b65ae
--- /dev/null
@@ -0,0 +1,9 @@
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf
diff --git a/in.gcl-tk-doc.doc-base.tk b/in.gcl-tk-doc.doc-base.tk
new file mode 100644 (file)
index 0000000..880e51f
--- /dev/null
@@ -0,0 +1,15 @@
+Document: gcl@EXT@-tk-doc
+Title: GNU Common Lisp Tk Interface Documentation
+Author: W. Schelter
+Abstract: Documentation for Graphical Interface to GCL using TCL/Tk
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/*.html
diff --git a/in.gcl-tk-doc.info b/in.gcl-tk-doc.info
new file mode 100644 (file)
index 0000000..a46a498
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/share/info/gcl@EXT@-tk.info*
diff --git a/in.gcl-tk-doc.install b/in.gcl-tk-doc.install
new file mode 100644 (file)
index 0000000..82087da
--- /dev/null
@@ -0,0 +1,4 @@
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl-tk
diff --git a/in.gcl-tk.install b/in.gcl-tk.install
new file mode 100644 (file)
index 0000000..e7adf46
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/gcl-@VERS@/gcl-tk
diff --git a/in.gcl-tk.lintian-overrides b/in.gcl-tk.lintian-overrides
new file mode 100644 (file)
index 0000000..3f00755
--- /dev/null
@@ -0,0 +1,2 @@
+# FIXME
+gcl@EXT@-tk: hardening-no-pie [usr/lib/gcl-@VERS@/gcl-tk/gcltkaux]
diff --git a/in.gcl.1 b/in.gcl.1
new file mode 100644 (file)
index 0000000..5f92f04
--- /dev/null
+++ b/in.gcl.1
@@ -0,0 +1,242 @@
+.TH GCL 1L "17 March 1997"
+.SH NAME
+gcl@EXT@ \- GCL Common Lisp interpreter/compiler
+.SH SYNOPSIS
+.B gcl@EXT@
+[
+.B options
+]
+
+.SH DESCRIPTION
+
+The program
+.I gcl@EXT@
+is an implementation of a subset of the Common Lisp Ansi standard.
+It is written in C and in Common Lisp, and is highly portable.   It
+includes those features in the original definition of Common Lisp,
+(Guy Steele version 1.), as well as some features from the proposed
+new standard.
+.LP
+The best documentation is available in
+.I texinfo/info
+form, with there being three groups of information.
+.I gcl@EXT@-si
+for basic common lisp descriptions, and features unique to
+.I gcl@EXT@
+The
+.I gcl@EXT@-tk
+info refers to the connection with
+.I tk
+window system, allowing all the power of the
+.I tcl/tk
+interaction system to be used from lisp.
+The third info file
+.I gcl@EXT@
+details the Ansi standard for common lisp, to which this subset
+tries to adhere.   It is highly recommended to write programs,
+which will be in the intersection of gcl and ansi common lisp.
+Unfortunately the Ansi standard is huge, and will require a substantial
+effort, and increase in the size of gcl, to include all of it.
+.LP
+When
+.I gcl@EXT@
+is invoked from the shell, the variable
+.I si::*command-args*
+is set to the list of command line arguments.
+Various
+.I options
+are understood:
+.TP
+.BR \-eval\ command 
+.RB
+Call read and then eval on the
+.I command passed in.
+.TP
+.BR \-load\ pathname
+.RB
+Load the file whose
+.I pathname
+is specified after
+.BR \-load .
+.TP
+.B \-f
+Replace si::*command-args* by the the list starting after
+.BR \-f .
+Open the file following
+.BR \-f  for input, skip the first line, and
+then read and eval the rest of the forms in the file.   This can
+be used as with the shells to write small shell programs:
+
+.LP
+.br
+#!/usr/local/bin/gcl.exe -f
+.br
+(format t "hello world ~a~%" (nth 1 si::*command-args*))
+
+.BR
+The value
+.I si::*command-args*
+will have the appropriate value.
+Thus if the above 2 line file is made executable and called
+.I foo
+then
+
+.LP
+.LP
+.br
+tutorial% foo billy
+.br
+hello world billy
+
+.BR
+NOTE:  On many systems (eg SunOs) the first line of an executable
+script file such as:
+.BR
+#!/usr/local/bin/gcl.exe -f
+only reads the first 32 characters!   So if your pathname where
+the executable together with the '-f' amount to more than 32
+characters the file will not be recognized.   Also the executable
+must be the actual large binary file, [or a link to it], and not
+just a
+.I /bin/sh
+script.   In latter case the
+.I /bin/sh
+interpreter would get invoked on the file.
+
+Alternately one could invoke the file
+.I foo
+without making it
+executable:
+.LP
+.LP
+.br
+tutorial% gcl@EXT@ -f foo "from bill"
+.br
+hello world from bill
+
+.TP
+.B \-batch
+.RB
+Do not enter the command print loop.  Useful if the other command
+line arguments do something.  Do not print the License and
+acknowledgement information.  Note if your program does print any
+License information, it must print the GCL header information also.
+
+.TP
+.B \-dir
+.RB
+Directory where the executable binary that is running is located.
+Needed by save and friends.  This gets set as
+si::*system-directory*
+
+.TP
+.B \-libdir
+.RB
+.BR \-libdir
+.I /d/wfs/gcl-2.0/
+.RB
+
+would mean that the files like gcl-tk/tk.o would be found by
+concatting the path to the libdir path, ie in
+.RB /d/wfs/gcl-2.0/gcl-tk/tk.o
+
+.TP
+.B \-compile
+.RB
+Invoke the compiler on the filename following
+.BR \-compile.
+Other flags affect compilation.
+
+.TP
+.B \-o-file
+.RB
+If nil follows
+.BR \-o-file
+then do not produce an
+.I .o
+file.
+
+.TP
+.B \-c-file
+.RB
+If
+.BR \-c-file
+is specified, leave the intermediate
+.I .c
+file there.
+
+.TP
+.B \-h-file
+.RB     If
+.BR \-h-file
+is specified, leave the intermediate
+.I .h
+file there.
+
+.TP
+.B \-data-file
+.RB     If
+.BR \-data-file
+is specified, leave the intermediate
+.I .data
+file
+there.
+
+.TP
+.B \-system-p
+.RB     If
+.BR \-system-p
+is specified then invoke
+.I compile-file
+with the
+.I :system-p t
+keyword argument, meaning that the C init function
+will bear a name based on the name of the file, so that it may be
+invoked by name by C code.
+
+
+
+
+This GNU package should not be confused with the proprietary program
+distributed by FRANZ, Inc.  Nor should it be confused with any public
+domain or proprietary lisp system.  
+
+For anything other than program development, use of the lisp compiler
+is strongly recommended in preference to use of the interpreter, due
+to much higher speed.
+.\".LP
+.\"This program may be used in conjunction with the UCSF
+.\".I batchqueue
+.\"system.
+.\".SH "LOCAL ACCESS"
+.\"Locally, access to all L\s-2ISP\s0 systems is made through a shared
+.\"interactive front-end which assumes that the job is be run in batch mode
+.\"unless the \fB\-i\fP option is activated, which starts an interactive session.
+.\"Interactive sessions are limited to 30 cpu minutes.
+.SH FILES
+.TP
+\fI/usr/bin/gcl
+executable shell script wrapper
+.TP
+\fI/usr/lib/gcl-version/unixport/saved[_flavor]_gcl
+executable lisp images
+.SH "SEE ALSO"
+.sp
+\fICommon LISP: The Language\fP, Guy L. Steele, Jr., Digital Press, Bedford, MA,
+1984.
+.sp
+\fICommon LISPcraft\fP, Robert Wilensky, W. W. Norton & Co., New York, 1984.
+.SH AUTHORS
+
+The GCL system contains C and Lisp source files to build a Common Lisp
+sytem.  
+CGL is derived from Kyoto Common LISP (\fIkcl\fP),
+which was written in 1984 by T. Yuasa and M. Hagiya
+(working under Professor R. Nakajima at the Research
+Institute for Mathematical Sciences, Kyoto University).
+The AKCL system work was begun in 1987 by
+William Schelter at the University of Texas, Austin,  and continued through 1994.  
+In 1994 AKCL was released as GCL (GNU Common Lisp) under the
+GNU public library license.
+.\"
+
diff --git a/in.gcl.config b/in.gcl.config
new file mode 100644 (file)
index 0000000..3893a50
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+CONFIGFILE=/etc/default/gcl@EXT@
+set -e
+. /usr/share/debconf/confmodule
+
+db_set gcl@EXT@/default_gcl_ansi true
+
+# Load config file, if it exists.
+if [ -e $CONFIGFILE ]; then
+    . $CONFIGFILE || true
+
+    # Store values from config file into
+    # debconf db.
+    db_set gcl@EXT@/default_gcl_ansi $DEFAULT_GCL_ANSI
+    db_set gcl@EXT@/default_gcl_prof $DEFAULT_GCL_PROF
+fi
+
+# Ask questions.
+db_input medium gcl@EXT@/default_gcl_ansi || true
+db_input medium gcl@EXT@/default_gcl_prof || true
+db_go || true
diff --git a/in.gcl.docs b/in.gcl.docs
new file mode 100644 (file)
index 0000000..13fdf00
--- /dev/null
@@ -0,0 +1,2 @@
+sb_ansi-tests/test_results
+sb_bench/timing_results
diff --git a/in.gcl.install b/in.gcl.install
new file mode 100644 (file)
index 0000000..b46b414
--- /dev/null
@@ -0,0 +1,9 @@
+debian/tmp/usr/bin
+debian/tmp/usr/share/man
+debian/tmp/usr/lib/gcl-@VERS@/clcs
+debian/tmp/usr/lib/gcl-@VERS@/cmpnew
+debian/tmp/usr/lib/gcl-@VERS@/h
+debian/tmp/usr/lib/gcl-@VERS@/lsp
+debian/tmp/usr/lib/gcl-@VERS@/pcl
+debian/tmp/usr/lib/gcl-@VERS@/unixport
+debian/tmp/usr/lib/gcl-@VERS@/xgcl-2
diff --git a/in.gcl.lintian-overrides b/in.gcl.lintian-overrides
new file mode 100644 (file)
index 0000000..cfc4ddc
--- /dev/null
@@ -0,0 +1,10 @@
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl]
+gcl@EXT@: hardening-no-relro [usr/lib/gcl-@VERS@/unixport/libboot.so]
+gcl@EXT@: shared-library-lacks-prerequisites [usr/lib/gcl-@VERS@/unixport/libboot.so]
diff --git a/in.gcl.manpages b/in.gcl.manpages
new file mode 100644 (file)
index 0000000..0b22534
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/gcl@EXT@.1
diff --git a/in.gcl.postinst b/in.gcl.postinst
new file mode 100644 (file)
index 0000000..917588b
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+case "$1" in
+  configure)
+
+#      CONFIGFILE=$(tempfile -m 644)
+       CONFIGFILE=$(mktemp)
+       chmod 644 $CONFIGFILE
+       set -e
+       . /usr/share/debconf/confmodule
+       
+       if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
+           
+           db_get gcl@EXT@/default_gcl_ansi
+           
+           if [ "$RET" = "true" ] ; then 
+               DEFAULT_GCL_ANSI=t
+           else
+               DEFAULT_GCL_ANSI=
+           fi
+           
+           db_get gcl@EXT@/default_gcl_prof
+           
+           if [ "$RET" = "true" ] ; then 
+               DEFAULT_GCL_PROF=y
+           else
+               DEFAULT_GCL_PROF=
+           fi
+           
+           echo "DEFAULT_GCL_ANSI=$DEFAULT_GCL_ANSI" >> $CONFIGFILE
+           echo "DEFAULT_GCL_PROF=$DEFAULT_GCL_PROF" >> $CONFIGFILE
+           
+       fi
+       
+       ucf --debconf-ok $CONFIGFILE /etc/default/gcl@EXT@
+       ucfr gcl@EXT@ /etc/default/gcl@EXT@
+
+#      chmod 644 /etc/default/gcl@EXT@
+       
+esac
+
+#DEBHELPER#
+
diff --git a/in.gcl.postrm b/in.gcl.postrm
new file mode 100644 (file)
index 0000000..5360f7d
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+    purge)
+           for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist;  do
+               rm -f /etc/default/gcl@EXT@$ext
+           done
+           
+           rm -f /etc/default/gcl@EXT@
+           
+           if which ucf >/dev/null; then
+               ucf --purge /etc/default/gcl@EXT@
+           fi        
+           if which ucfr >/dev/null; then
+               ucfr --purge gcl@EXT@ /etc/default/gcl@EXT@
+           fi       
+           ;;
+esac
+
+#DEBHELPER#
diff --git a/in.gcl.templates b/in.gcl.templates
new file mode 100644 (file)
index 0000000..ccbc134
--- /dev/null
@@ -0,0 +1,26 @@
+Template: gcl@EXT@/default_gcl_ansi
+Type: boolean
+_Description: Use the work-in-progress ANSI build by default?
+ GCL is in the process of providing an ANSI compliant image in addition to
+ its traditional CLtL1 image still in production use.  Please see the
+ README.Debian file for a brief description of these terms.  Setting this
+ variable will determine which image you will use by default on executing
+ 'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI
+ environment variable to any string but "no" for the ANSI build, and to
+ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The
+ flavor of the build in force will be reported in the initial startup
+ banner.
+
+Template: gcl@EXT@/default_gcl_prof
+Type: boolean
+_Description: Use the profiling build by default?
+ GCL now has optional support for profiling via gprof.  Please see the
+ documentation
+ for si::gprof-start and si::gprof-quit for details. As this build is slower
+ than builds without gprof support, it is not recommended for final production use.
+ You can locally override the default choice made here
+ by setting the
+ GCL_PROF environment variable to any non-empty string for profiling
+ support, and to the empty string for the more optimized builds, e.g.
+ GCL_PROF=t gcl@EXT@.  If profiling is enabled, this will be reported in
+ the initial startup banner.
diff --git a/old.in.gcl-doc.doc-base.main b/old.in.gcl-doc.doc-base.main
new file mode 100644 (file)
index 0000000..2d6f3d1
--- /dev/null
@@ -0,0 +1,12 @@
+Document: gcl@EXT@-doc
+Title: GNU Common Lisp Documentation
+Author: W. Schelter
+Abstract: A Common Lisp compiler and interpreter based on C
+Section: Apps/Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@-doc/gcl.dvi.gz /usr/share/doc/gcl@EXT@-doc/gcl.dvi
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@-doc/gcl/index.html
+Files: /usr/share/doc/gcl@EXT@-doc/gcl/*.html
diff --git a/patches/Version_2_7_2ore3 b/patches/Version_2_7_2ore3
new file mode 100644 (file)
index 0000000..5995e41
--- /dev/null
@@ -0,0 +1,1172 @@
+Description: Update to git tag Version_2_7_2pre3
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -23,7 +23,7 @@ gcltkdocdir=$(docdir)/gcl-tk
+ # primaries
+-noinst_PROGRAMS=bin/dpp o/grab_defs
++noinst_PROGRAMS=bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ noinst_LIBRARIES=lib/libbase_gcl.a
+ my_unixport_PROGRAMS=unixport/saved_gcl unixport/saved_ansi_gcl
+@@ -31,7 +31,7 @@ my_unixport_LIBRARIES=unixport/libgcl.a
+ bin_SCRIPTS=bin/gcl
+ check_SCRIPTS=sb_ansi-tests/test_results sb_bench/timing_results
+ info_TEXINFOS=info/gcl.texi info/gcl-si.texi
+-my_unixport_DATA=$(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
++my_unixport_DATA=$(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
+                                      gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
+ my_h_DATA=h/cmpinclude.h
+ my_cmpnew_DATA=sb_cmpnew/gcl_collectfn.o cmpnew/gcl_lfun_list.lsp cmpnew/gcl_cmpopt.lsp
+@@ -48,6 +48,12 @@ dist_noinst_DATA=
+ # conditionals
++if AMM_LIBBOOT
++LIBBOOTSO=unixport/libboot.so
++else
++BOOT_C=o/boot.c
++endif
++
+ if AMM_GPROF
+ LIBGPROF=lib/libgprof.a
+@@ -165,7 +171,7 @@ endif
+ BUILT_SOURCES=$(BUILT_H) $(BUILT_C)
+ CLEANFILES=$(BUILT_SOURCES) $(INI_FILES) o/boot.ini
+-lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
++lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
+ nodist_lib_libbase_gcl_a_SOURCES=$(BUILT_C)
+ lib_libgprof_a_SOURCES=o/gprof.c
+ lib_libgprof_a_CFLAGS=$(AM_CFLAGS) -fno-omit-frame-pointer -pg
+@@ -237,7 +243,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
+ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
+ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
+-                  unixport/libboot.so unixport/init_raw.lsp
++                  $(LIBBOOTSO) unixport/init_raw.lsp
+       rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
+       mkdir sb_$*
+       cd sb_$* && \
+@@ -245,14 +251,17 @@ unixport/saved_%: | unixport/raw_% unixp
+               ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+               mkdir h && \
+               ln -snf ../../h/cmpinclude.h h/ && \
+-              echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++              touch prof_init.lsp && \
++              ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
++              echo "(system:save-system \"../$@\")" | \
++              cat ../unixport/init_raw.lsp prof_init.lsp - | \
+                       GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+                               ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
+               rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+       rm -rf sb_$*
+-unixport/raw_%: unixport/lib%.a
+-      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
++      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -464,15 +473,15 @@ o/boot.h: %.h: %.ini
+       cat $< >> $@
+       echo '}' >> $@
+-CLEANFILES+=unixport/libboot.so
+-unixport/libboot.so: o/boot.c o/boot.h
++CLEANFILES+=$(LIBBOOTSO)
++$(LIBBOOTSO): o/boot.c o/boot.h
+       $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
+               -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
+ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+-o/%.ini:  o/%.c | o/grab_defs
++o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
+       @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+       @rm -f new_$(@F)
+@@ -540,8 +549,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
+       [ -d $(@D) ] || mkdir -p $(@D)
+       $(word 1,$|) -compile $< -o $@
+-%.c: %.d | bin/dpp
+-      bin/dpp $< $@
++%.c: %.d | bin/dpp$(EXEEXT)
++      $| $< $@
+ gcl-tk/demos gcl-tk $(MY_DIRS): % :
+       [ -d $@ ] || mkdir -p $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -93,7 +93,6 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ my_unixport_PROGRAMS = unixport/saved_gcl$(EXEEXT) \
+       unixport/saved_ansi_gcl$(EXEEXT) $(am__EXEEXT_1)
+ @AMM_GPROF_TRUE@am__append_1 = $(LIBGPROF) lib/libbase_gcl_gprof.a
+@@ -176,6 +175,56 @@ am__v_AR_1 =
+ lib_libbase_gcl_a_AR = $(AR) $(ARFLAGS)
+ lib_libbase_gcl_a_RANLIB = $(RANLIB)
+ lib_libbase_gcl_a_LIBADD =
++am__lib_libbase_gcl_a_SOURCES_DIST = o/typespec.c o/alloc.c o/gbc.c \
++      o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
++      o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
++      o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
++      o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
++      o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
++      o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
++      o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
++      o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
++      o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
++      o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
++      o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
++      o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
++      o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
++      h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
++      h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
++      h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
++      h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
++      h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
++      h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++      h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++      o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++      h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++      h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++      h/cmponly_last.h h/elf32_armhf_reloc.h \
++      h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++      h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++      h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++      h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++      h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++      h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++      h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
++      h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
++      h/elf64_loongarch64_reloc.h \
++      h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
++      h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
++      h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
++      h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
++      h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
++      h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
++      h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
++      h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
++      h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
++      h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
++      h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
++      h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
++      h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
++      h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
++      h/solaris-i386.h o/boot.c
+ am__dirstamp = $(am__leading_dot)dirstamp
+ am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \
+       o/bitop.$(OBJEXT) o/main.$(OBJEXT) o/eval.$(OBJEXT) \
+@@ -202,20 +251,71 @@ am__objects_1 = o/typespec.$(OBJEXT) o/a
+       o/bzero.$(OBJEXT) o/user_init.$(OBJEXT) o/user_match.$(OBJEXT) \
+       o/mapfun.$(OBJEXT)
+ am__objects_2 =
++@AMM_LIBBOOT_FALSE@am__objects_3 = o/boot.$(OBJEXT)
+ am_lib_libbase_gcl_a_OBJECTS = $(am__objects_1) $(am__objects_2) \
+-      $(am__objects_2) $(am__objects_2)
+-am__objects_3 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
++      $(am__objects_2) $(am__objects_2) $(am__objects_3)
++am__objects_4 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
+       o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
+       o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
+       o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
+       o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
+-nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_3)
++nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
+ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
+       $(nodist_lib_libbase_gcl_a_OBJECTS)
+ lib_libbase_gcl_gprof_a_AR = $(AR) $(ARFLAGS)
+ lib_libbase_gcl_gprof_a_RANLIB = $(RANLIB)
+ lib_libbase_gcl_gprof_a_LIBADD =
+-am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
++am__lib_libbase_gcl_gprof_a_SOURCES_DIST = o/typespec.c o/alloc.c \
++      o/gbc.c o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
++      o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
++      o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
++      o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
++      o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
++      o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
++      o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
++      o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
++      o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
++      o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
++      o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
++      o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
++      o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
++      h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
++      h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
++      h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
++      h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
++      h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
++      h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++      h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++      o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++      h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++      h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++      h/cmponly_last.h h/elf32_armhf_reloc.h \
++      h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++      h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++      h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++      h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++      h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++      h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++      h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
++      h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
++      h/elf64_loongarch64_reloc.h \
++      h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
++      h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
++      h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
++      h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
++      h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
++      h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
++      h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
++      h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
++      h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
++      h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
++      h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
++      h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
++      h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
++      h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
++      h/solaris-i386.h o/boot.c o/gprof.c
++am__objects_5 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-alloc.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-gbc.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-bitop.$(OBJEXT) \
+@@ -281,11 +381,13 @@ am__objects_4 = o/lib_libbase_gcl_gprof_
+       o/lib_libbase_gcl_gprof_a-user_init.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT)
+-am__objects_5 = $(am__objects_4) $(am__objects_2) $(am__objects_2) \
+-      $(am__objects_2)
+-am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_5) \
++@AMM_LIBBOOT_FALSE@am__objects_6 =  \
++@AMM_LIBBOOT_FALSE@   o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT)
++am__objects_7 = $(am__objects_5) $(am__objects_2) $(am__objects_2) \
++      $(am__objects_2) $(am__objects_6)
++am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) \
+       o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT)
+-am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
++am__objects_8 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-file.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-gcl_readline.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-hash.$(OBJEXT) \
+@@ -298,8 +400,8 @@ am__objects_6 = o/lib_libbase_gcl_gprof_
+       o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
+-am__objects_7 = $(am__objects_6)
+-nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7)
++am__objects_9 = $(am__objects_8)
++nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
+ lib_libbase_gcl_gprof_a_OBJECTS =  \
+       $(am_lib_libbase_gcl_gprof_a_OBJECTS) \
+       $(nodist_lib_libbase_gcl_gprof_a_OBJECTS)
+@@ -311,20 +413,20 @@ lib_libgprof_a_OBJECTS = $(am_lib_libgpr
+ lib_libxgcl_a_AR = $(AR) $(ARFLAGS)
+ lib_libxgcl_a_RANLIB = $(RANLIB)
+ lib_libxgcl_a_LIBADD =
+-am__objects_8 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
++am__objects_10 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
+       xgcl-2/XStruct-2.$(OBJEXT) xgcl-2/XStruct-4.$(OBJEXT) \
+       xgcl-2/Xutil-2.$(OBJEXT)
+-am_lib_libxgcl_a_OBJECTS = $(am__objects_8)
++am_lib_libxgcl_a_OBJECTS = $(am__objects_10)
+ lib_libxgcl_a_OBJECTS = $(am_lib_libxgcl_a_OBJECTS)
+ lib_libxgcl_gprof_a_AR = $(AR) $(ARFLAGS)
+ lib_libxgcl_gprof_a_RANLIB = $(RANLIB)
+ lib_libxgcl_gprof_a_LIBADD =
+-am__objects_9 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
++am__objects_11 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
+       xgcl-2/lib_libxgcl_gprof_a-general-c.$(OBJEXT) \
+       xgcl-2/lib_libxgcl_gprof_a-XStruct-2.$(OBJEXT) \
+       xgcl-2/lib_libxgcl_gprof_a-XStruct-4.$(OBJEXT) \
+       xgcl-2/lib_libxgcl_gprof_a-Xutil-2.$(OBJEXT)
+-am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_9)
++am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_11)
+ lib_libxgcl_gprof_a_OBJECTS = $(am_lib_libxgcl_gprof_a_OBJECTS)
+ unixport_libansi_gcl_a_AR = $(AR) $(ARFLAGS)
+ unixport_libansi_gcl_a_RANLIB = $(RANLIB)
+@@ -351,10 +453,10 @@ unixport_libgcl_gprof_a_OBJECTS =  \
+ bin_dpp_SOURCES = bin/dpp.c
+ bin_dpp_OBJECTS = bin/dpp.$(OBJEXT)
+ bin_dpp_LDADD = $(LDADD)
+-am__objects_10 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
++am__objects_12 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
+       gcl-tk/gcltkaux-tkAppInit.$(OBJEXT) \
+       gcl-tk/gcltkaux-tkMain.$(OBJEXT)
+-am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_10)
++am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_12)
+ gcl_tk_gcltkaux_OBJECTS = $(am_gcl_tk_gcltkaux_OBJECTS)
+ am__DEPENDENCIES_1 =
+ gcl_tk_gcltkaux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@@ -400,8 +502,8 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+       o/$(DEPDIR)/array.Po o/$(DEPDIR)/assignment.Po \
+       o/$(DEPDIR)/backq.Po o/$(DEPDIR)/bcmp.Po o/$(DEPDIR)/bcopy.Po \
+       o/$(DEPDIR)/bds.Po o/$(DEPDIR)/big.Po o/$(DEPDIR)/bind.Po \
+-      o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/bzero.Po \
+-      o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
++      o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/boot.Po \
++      o/$(DEPDIR)/bzero.Po o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
+       o/$(DEPDIR)/character.Po o/$(DEPDIR)/clxsocket.Po \
+       o/$(DEPDIR)/cmpaux.Po o/$(DEPDIR)/conditional.Po \
+       o/$(DEPDIR)/earith.Po o/$(DEPDIR)/error.Po o/$(DEPDIR)/eval.Po \
+@@ -422,6 +524,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po \
+@@ -554,9 +657,10 @@ SOURCES = $(lib_libbase_gcl_a_SOURCES) \
+       $(unixport_saved_ansi_gcl_gprof_SOURCES) \
+       $(unixport_saved_gcl_SOURCES) \
+       $(unixport_saved_gcl_gprof_SOURCES)
+-DIST_SOURCES = $(lib_libbase_gcl_a_SOURCES) \
+-      $(lib_libbase_gcl_gprof_a_SOURCES) $(lib_libgprof_a_SOURCES) \
+-      $(lib_libxgcl_a_SOURCES) $(lib_libxgcl_gprof_a_SOURCES) \
++DIST_SOURCES = $(am__lib_libbase_gcl_a_SOURCES_DIST) \
++      $(am__lib_libbase_gcl_gprof_a_SOURCES_DIST) \
++      $(lib_libgprof_a_SOURCES) $(lib_libxgcl_a_SOURCES) \
++      $(lib_libxgcl_gprof_a_SOURCES) \
+       $(unixport_libansi_gcl_a_SOURCES) \
+       $(unixport_libansi_gcl_gprof_a_SOURCES) \
+       $(unixport_libgcl_a_SOURCES) \
+@@ -712,6 +816,7 @@ ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ EXT = @EXT@
+ EXTRA_LOBJS = @EXTRA_LOBJS@
++FF = @FF@
+ FINAL_CFLAGS = @FINAL_CFLAGS@
+ GCL_CC = @GCL_CC@
+ GMP = @GMP@
+@@ -731,6 +836,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LEADING_UNDERSCORE = @LEADING_UNDERSCORE@
++LF = @LF@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LI_CC = @LI_CC@
+@@ -854,6 +960,9 @@ my_cmpnewdir = $(my_libdir)/cmpnew
+ my_clcsdir = $(my_libdir)/clcs
+ xgcl2docdir = $(docdir)/xgcl-2
+ gcltkdocdir = $(docdir)/gcl-tk
++
++# primaries
++noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ noinst_LIBRARIES = lib/libbase_gcl.a $(am__append_1) $(am__append_4) \
+       $(am__append_7)
+ my_unixport_LIBRARIES = unixport/libgcl.a unixport/libansi_gcl.a \
+@@ -862,7 +971,7 @@ bin_SCRIPTS = bin/gcl
+ check_SCRIPTS = sb_ansi-tests/test_results sb_bench/timing_results
+ info_TEXINFOS = info/gcl.texi info/gcl-si.texi $(am__append_6) \
+       $(am__append_9)
+-my_unixport_DATA = $(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
++my_unixport_DATA = $(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
+                                      gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
+ my_h_DATA = h/cmpinclude.h
+@@ -879,6 +988,8 @@ lisp_DATA = elisp/add-default.el elisp/a
+ dist_noinst_DATA = $(am__append_5) $(am__append_8)
+ # conditionals
++@AMM_LIBBOOT_TRUE@LIBBOOTSO = unixport/libboot.so
++@AMM_LIBBOOT_FALSE@BOOT_C = o/boot.c
+ @AMM_GPROF_TRUE@LIBGPROF = lib/libgprof.a
+ #it would be nice someday to sandbox xgcl-2 and gcl-tk builds in tmpdirs
+@@ -968,9 +1079,8 @@ BUILT_SOURCES = $(BUILT_H) $(BUILT_C)
+ CLEANFILES = $(BUILT_SOURCES) $(INI_FILES) o/boot.ini $(addprefix \
+       unixport/raw_,gcl gcl_gprof ansi_gcl ansi_gcl_gprof) \
+       h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h \
+-      unixport/libboot.so gcl-tk/demos/index.lsp \
+-      gcl-tk/demos/gc-monitor.o
+-lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
++      $(LIBBOOTSO) gcl-tk/demos/index.lsp gcl-tk/demos/gc-monitor.o
++lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
+ nodist_lib_libbase_gcl_a_SOURCES = $(BUILT_C)
+ lib_libgprof_a_SOURCES = o/gprof.c
+ lib_libgprof_a_CFLAGS = $(AM_CFLAGS) -fno-omit-frame-pointer -pg
+@@ -1293,6 +1403,7 @@ o/bzero.$(OBJEXT): o/$(am__dirstamp) o/$
+ o/user_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/user_match.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/mapfun.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++o/boot.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/character.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/file.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/gcl_readline.$(OBJEXT): o/$(am__dirstamp) \
+@@ -1447,6 +1558,8 @@ o/lib_libbase_gcl_gprof_a-user_match.$(O
+       o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT): o/$(am__dirstamp) \
+       o/$(DEPDIR)/$(am__dirstamp)
++o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT): o/$(am__dirstamp) \
++      o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT): o/$(am__dirstamp) \
+       o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-character.$(OBJEXT): o/$(am__dirstamp) \
+@@ -1654,6 +1767,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bind.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bitop.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/block.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/boot.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bzero.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/catch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/cfun.Po@am__quote@ # am--include-marker
+@@ -1688,6 +1802,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po@am__quote@ # am--include-marker
+@@ -2761,6 +2876,20 @@ o/lib_libbase_gcl_gprof_a-mapfun.obj: o/
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-mapfun.obj `if test -f 'o/mapfun.c'; then $(CYGPATH_W) 'o/mapfun.c'; else $(CYGPATH_W) '$(srcdir)/o/mapfun.c'; fi`
++o/lib_libbase_gcl_gprof_a-boot.o: o/boot.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
++
++o/lib_libbase_gcl_gprof_a-boot.obj: o/boot.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
++
+ o/lib_libbase_gcl_gprof_a-gprof.o: o/gprof.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo -c -o o/lib_libbase_gcl_gprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Po
+@@ -3974,6 +4103,7 @@ distclean: distclean-am
+       -rm -f o/$(DEPDIR)/bind.Po
+       -rm -f o/$(DEPDIR)/bitop.Po
+       -rm -f o/$(DEPDIR)/block.Po
++      -rm -f o/$(DEPDIR)/boot.Po
+       -rm -f o/$(DEPDIR)/bzero.Po
+       -rm -f o/$(DEPDIR)/catch.Po
+       -rm -f o/$(DEPDIR)/cfun.Po
+@@ -4008,6 +4138,7 @@ distclean: distclean-am
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
+@@ -4294,6 +4425,7 @@ maintainer-clean: maintainer-clean-am
+       -rm -f o/$(DEPDIR)/bind.Po
+       -rm -f o/$(DEPDIR)/bitop.Po
+       -rm -f o/$(DEPDIR)/block.Po
++      -rm -f o/$(DEPDIR)/boot.Po
+       -rm -f o/$(DEPDIR)/bzero.Po
+       -rm -f o/$(DEPDIR)/catch.Po
+       -rm -f o/$(DEPDIR)/cfun.Po
+@@ -4328,6 +4460,7 @@ maintainer-clean: maintainer-clean-am
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
+@@ -4541,7 +4674,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
+ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
+ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
+-                  unixport/libboot.so unixport/init_raw.lsp
++                  $(LIBBOOTSO) unixport/init_raw.lsp
+       rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
+       mkdir sb_$*
+       cd sb_$* && \
+@@ -4549,14 +4682,17 @@ unixport/saved_%: | unixport/raw_% unixp
+               ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+               mkdir h && \
+               ln -snf ../../h/cmpinclude.h h/ && \
+-              echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++              touch prof_init.lsp && \
++              ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
++              echo "(system:save-system \"../$@\")" | \
++              cat ../unixport/init_raw.lsp prof_init.lsp - | \
+                       GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+                               ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
+               rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+       rm -rf sb_$*
+-unixport/raw_%: unixport/lib%.a
+-      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
++      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -4754,14 +4890,14 @@ o/boot.h: %.h: %.ini
+       echo 'void gcl_init_boot(void){' >> $@
+       cat $< >> $@
+       echo '}' >> $@
+-unixport/libboot.so: o/boot.c o/boot.h
++$(LIBBOOTSO): o/boot.c o/boot.h
+       $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
+               -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
+ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+-o/%.ini:  o/%.c | o/grab_defs
++o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
+       @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+       @rm -f new_$(@F)
+@@ -4824,8 +4960,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
+       [ -d $(@D) ] || mkdir -p $(@D)
+       $(word 1,$|) -compile $< -o $@
+-%.c: %.d | bin/dpp
+-      bin/dpp $< $@
++%.c: %.d | bin/dpp$(EXEEXT)
++      $| $< $@
+ gcl-tk/demos gcl-tk $(MY_DIRS): % :
+       [ -d $@ ] || mkdir -p $@
+--- gcl27-2.7.1.orig/bin/gcl.in
++++ gcl27-2.7.1/bin/gcl.in
+@@ -5,13 +5,19 @@ VERS=@VERSION@
+ if [ -e /etc/default/gcl$EXT ] ; then
+     . /etc/default/gcl$EXT ;
+-    if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
++    if ! set | grep -q -w GCL_ANSI ; then
++      if [ "$DEFAULT_GCL_ANSI" != "" ] ; then
++          GCL_ANSI="t" ;
++      else
++          GCL_ANSI="no" ;
++      fi
++    fi
+     if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
+ fi
+ DIR=@prefix@/lib/gcl-$VERS;
+-if [ "$GCL_ANSI" = "" ] ; then
++if [ "$GCL_ANSI" = "no" ] ; then
+     if [ "$GCL_PROF" = "" ] ; then
+       EXE=saved_gcl;
+     else
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -334,8 +334,10 @@
+         ((append at '(*))))));let call_proc_new foil fast linking and catch errors
+ (defun add-fast-link (fname la &optional apnarg
+-                          &aux n
+-                          (at (call-arg-types (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)) la apnarg))
++                    &aux n
++                      (at (call-arg-types
++                           (adj-call-tps-max (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)))
++                           la apnarg))
+                           (rt (link-rt (get-return-type fname) t))
+                           (clp (cclosure-p fname))
+                           (tail (list rt at clp apnarg)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
+@@ -2353,6 +2353,12 @@
+    (otherwise                          (when (or always (ltvp val))
+                                        `(vv ,val)))))
++(defun encap-src-val (val)
++  (typecase val
++    (function  (afe (cons 'df nil) (mf (fle val))))
++    (cons (cons (encap-src-val (car val)) (encap-src-val (cdr val))))
++    (t val)))
++
+ (defun c1constant-value (val always &aux (val (if (exit-to-fmla-p) (not (not val)) val)))
+   (case 
+    val
+@@ -2363,11 +2369,7 @@
+       (when l 
+       `(location 
+         ,(make-info :type (or (ltvp val)
+-                              (object-type
+-                               (typecase val
+-                                 (function  (afe (cons 'df nil) (mf (fle val))))
+-                                 (list (copy-tree val))
+-                                 (t val)))))
++                              (object-type (encap-src-val val))))
+         ,l))))))
+ (defvar *compiler-temps*
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
+@@ -495,7 +495,7 @@
+        (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
+        (nm (if clp (ms clp "->fun.fun_self") nm))
+        (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
+-    `(,(car sig) ,(cadr sig) 
++    `(,(adj-call-tps-max (car sig)) ,(cadr sig)
+       ,(if mv (flags rfa svt) (flags rfa))
+       ,inl)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -823,7 +823,7 @@
+     ((cons (eql vv) t) (fm-to-string (cadr form)))
+     ((cons (member char-value fixnum-value character-value) t) (fm-to-string (caddr form)))
+     ((eql most-negative-fixnum)  #.(string-concatenate "(" (write-to-string (1+ most-negative-fixnum)) "- 1)"))
+-    (integer (format nil "~a" form)); string character
++    (fixnum (format nil "~a" form)); string character
+     (float (format nil "~10,,,,,,'eG" form))
+     ((complex float)
+      (string-concatenate "(" (fm-to-string (realpart form)) " + I * " (fm-to-string (imagpart form)) ")"))))
+@@ -832,7 +832,7 @@
+   (string-concatenate
+    (cond ((member key '(:cnum :creal)) "")
+        ((eq ft tt) "")
+-        ((equal ft t)
++       ((equal ft t)
+          (if *compiler-new-safety*
+              (let ((v (member key '(:char :int :fixnum))))
+                (if v (si::string-concatenate (setq p "object_to_") (strcat key))
+@@ -1127,11 +1127,19 @@
+     (let ((x (position x +c-global-arg-types+ :test 'type<=)))
+       (if x (1+ x) 0))))
++(defconstant +max-typed-args+
++  (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
++    (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
++
++(defun adj-call-tps-max (tps &aux (i -1))
++  (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
++
+ (defun new-proclaimed-argd (args return)
+   (do* ((type (f-type return) (f-type (pop args)))
+       (i 0 (+ 2 i))
+       (ans type (logior ans (ash type i))))
+-       ((or (>= i 32) (null args)) (the (unsigned-byte 32) ans))))
++       ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
++      (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
+ (defun type-f (x)
+   (declare (fixnum x))
+@@ -1300,14 +1308,16 @@
+ (defun t3defun-local-entry (fname cfun lambda-expr sp inline-info
+                                 &aux specials *reg-clv* (requireds (caaddr lambda-expr)) nargs)
+   (do ((vl requireds (cdr vl))
+-       (types (cadr inline-info) (cdr types)))
++       (types (cadr inline-info) (cdr types))
++       (i 0 (1+ i)))
+       ((endp vl))
+       (cond ((eq (var-kind (car vl)) 'special)
+            (push (cons (car vl) (var-loc (car vl))) specials))
+           ((var-cb (car vl)) (push (list (eq 'clb (var-loc (car vl))) (car vl)) *reg-clv*))
+-;         ((var-cb (car vl)) (push (car vl) *reg-clv*))
+           ((setf (var-kind (car vl))
+-                 (or (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)) 'object))))
++                 (or (when (< i +max-typed-args+)
++                       (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)))
++                     'object))))
+       (setf (var-loc (car vl)) (cs-push (var-type (car vl)) t)))
+   (when (is-narg-le lambda-expr)
+     (setq nargs (car (last requireds)))
+@@ -1382,13 +1392,12 @@
+     (wt-h "#define VMRV" cm "(a_,b_)" vstu bdsu frsu " return((" (declaration-type (rep-type return-type)) ")a_);")
+     (wt-h "#define VMR" cm "(a_) VMRV" cm "(a_,0);")))
+-
+-(defun wt-requireds (requireds arg-types &optional first narg)
++(defun wt-requireds (requireds arg-types &optional first narg &aux (i -1))
+   (declare (ignore arg-types))
+   (flet ((wt (x) (wt x) (let ((*compiler-output1* *compiler-output2*)) (wt x))))
+       (dolist (v requireds (wt (if narg ",...)" ")")))
+         (setq narg (or narg (is-narg-var v)))
+-        (let* ((gt (global-type-bump (var-type v)))
++        (let* ((gt (global-type-bump (if (< (incf i) +max-typed-args+) (var-type v) t)))
+                (cvar (cs-push gt t)))
+           (when first (wt ","))
+           (setq first t)
+@@ -1811,6 +1820,12 @@
+ ;;                      ,@(mapcar (lambda (x y) 
+ ;;                                  `(unbox ,(intern (symbol-name x) 'keyword) ,y)) args syms)))))))
++(defun c-key-rep (key)
++  (ecase key
++    ((:object :char :int :long :float :double :fixnum :void) (string-downcase key))
++    (:string "char *")
++    (:ustring "unsigned char *")))
++
+ (defmacro defentry (n args c &optional (lt t)
+                     &aux (tsyms (load-time-value
+                                  (mapl (lambda (x) (setf (car x) (gensym "DEFENTRY")))
+@@ -1824,9 +1839,9 @@
+        (tps (mapcar (lambda (x) (intern (string (if (consp x) (car x) x)) 'keyword)) args))
+        (decl (reduce (lambda (y x)
+                        (strcat y (if (> (length y) 0) "," "")
+-                               (cdr (assoc (get x 'cmp-lisp-type) +defentry-c-rep-alist+))))
++                               (c-key-rep x)))
+                      tps :initial-value ""))
+-       (decl (concatenate 'string (string-downcase rt) " " m "(" decl ");"))
++       (decl (concatenate 'string (c-key-rep rt) " " m "(" decl ");"))
+        (decl (if st "" decl))
+        (syms (mapcar (lambda (x) (declare (ignore x)) (pop tsyms)) args)))
+   `(defun ,n ,syms 
+@@ -1881,14 +1896,16 @@
+   (setq h (fun-call fun) at (caar h) rt (cadar h)
+       at (mapcar 'global-type-bump at) rt (global-type-bump rt));FIXME
+-  (dolist (vl requireds)
+-    (cond ((eq (var-kind vl) 'special)
+-         (push (cons vl (var-loc vl)) specials))
+-        ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
+-;       ((var-cb vl) (push vl *reg-clv*))
+-        ((setf (var-kind vl)
+-               (or (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)) 'object))))
+-    (setf (var-loc vl) (cs-push (var-type vl) t)))
++  (do ((vlp requireds (cdr vlp))(i 0 (1+ i)))((endp vlp))
++    (let ((vl (car vlp)))
++      (cond ((eq (var-kind vl) 'special)
++           (push (cons vl (var-loc vl)) specials))
++          ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
++          ((setf (var-kind vl)
++                 (or (when (< i +max-typed-args+)
++                       (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)))
++                     'object))))
++      (setf (var-loc vl) (cs-push (var-type vl) t))))
+   (wt-comment "local function " (if (fun-name fun) (fun-name fun) nil))
+   (wt-h   "static " (declaration-type (rep-type rt))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
+@@ -220,11 +220,6 @@
+          (list* nil +c-local-var-types-syms+))
+    `((object . "object "))))
+-(defconstant +defentry-c-rep-alist+
+-  (mapcar (lambda (x &aux (z (assoc x *c-types*)))
+-          (cons (cadr z) (eighth z)))
+-        '(char #+64bit signed-int fixnum short-float long-float string t)))
+-
+ (defconstant +cmp-type-alist+
+   (mapcar (lambda (x) (cons (cmp-norm-tp (car x)) (cdr x))) +type-alist+))
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -719,6 +719,10 @@ LDFLAGS
+ CFLAGS
+ CC
+ PRELINK_CHECK
++AMM_LIBBOOT_FALSE
++AMM_LIBBOOT_TRUE
++LF
++FF
+ host_os
+ host_vendor
+ host_cpu
+@@ -807,6 +811,7 @@ ac_user_opts='
+ enable_option_checking
+ enable_silent_rules
+ with_lispdir
++enable_libboot
+ enable_machine
+ enable_widecons
+ enable_safecdr
+@@ -1478,6 +1483,7 @@ Optional Features:
+   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+   --enable-silent-rules   less verbose build output (undo: "make V=1")
+   --disable-silent-rules  verbose build output (undo: "make V=0")
++put bootstrap code in shared library to be discarded
+   --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs
+   --enable-widecons will use a three word cons with simplified typing
+   --enable-safecdr will protect cdr from immfix and speed up type processing
+@@ -4149,6 +4155,38 @@ case $canonical in
+     i?86-pc-solaris*) use=solaris-i386;;
+ esac
++# Check whether --enable-libboot was given.
++if test ${enable_libboot+y}
++then :
++  enableval=$enable_libboot; libboot=$enableval
++else case e in #(
++  e) libboot="yes" ;;
++esac
++fi
++
++
++if test "$use" = "gnuwin95" ; then
++   FF=o/firstfile.o
++
++   LF=o/lastfile.o
++
++   libboot="no"
++fi
++
++ if test "$libboot" = "yes"; then
++  AMM_LIBBOOT_TRUE=
++  AMM_LIBBOOT_FALSE='#'
++else
++  AMM_LIBBOOT_TRUE='#'
++  AMM_LIBBOOT_FALSE=
++fi
++
++if test "$libboot" = "yes" ; then
++
++printf "%s\n" "#define USE_LIBBOOT 1" >>confdefs.h
++
++fi
++
+ # Check whether --enable-machine was given.
+ if test ${enable_machine+y}
+ then :
+@@ -7155,19 +7193,11 @@ case $use in
+       assert_arg_to_cflags -mms-bitfields
+       for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
+           cat $i.in | sed 's,^\r\n$,\r\n,g' >tmp && mv tmp $i.in;
+-      done
+-      OLD_LDFLAGS=$LDFLAGS
+-      assert_arg_to_ldflags -pg
+-      GPL_FLAG="-pg"
+-      LDFLAGS=$OLD_LDFLAGS;;
++      done;;
+     *gnuwin*)
+       assert_arg_to_cflags -fno-zero-initialized-in-bss
+       assert_arg_to_cflags -mms-bitfields
+-        assert_arg_to_ldflags -Wl,--stack,8000000
+-      OLD_LDFLAGS=$LDFLAGS
+-      assert_arg_to_ldflags -pg
+-      GPL_FLAG="-pg"
+-      LDFLAGS=$OLD_LDFLAGS;;
++        assert_arg_to_ldflags -Wl,--stack,8000000;;
+     386-linux)
+       if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
+          add_arg_to_cflags -ffloat-store;
+@@ -8742,6 +8772,41 @@ esac
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+ # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
+ # This bug is HP SR number 8606223364.
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
++printf %s "checking size of size_t... " >&6; }
++if test ${ac_cv_sizeof_size_t+y}
++then :
++  printf %s "(cached) " >&6
++else case e in #(
++  e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"
++then :
++
++else case e in #(
++  e) if test "$ac_cv_type_size_t" = yes; then
++     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
++as_fn_error 77 "cannot compute sizeof (size_t)
++See 'config.log' for more details" "$LINENO" 5; }
++   else
++     ac_cv_sizeof_size_t=0
++   fi ;;
++esac
++fi
++ ;;
++esac
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
++printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
++
++
++
++printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
++
++
++# The cast to long int works around a bug in the HP C Compiler
++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
++# This bug is HP SR number 8606223364.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+ printf %s "checking size of long... " >&6; }
+ if test ${ac_cv_sizeof_long+y}
+@@ -9029,7 +9094,8 @@ esac
+ printf %s "checking for hugepagewidth... " >&6; }
+ j=""
+ if test -e /proc/meminfo ; then
+-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
++   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
++   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
+ fi
+ if test "$j" != "" ; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $j" >&5
+@@ -11661,9 +11727,6 @@ then :
+ fi
+-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+-#AM_LDFLAGS = $LDFLAGS
+ BASE_LDFLAGS="$LDFLAGS"
+ LDFLAGS=""
+@@ -11859,6 +11922,10 @@ else
+   am__EXEEXT_FALSE=
+ fi
++if test -z "${AMM_LIBBOOT_TRUE}" && test -z "${AMM_LIBBOOT_FALSE}"; then
++  as_fn_error $? "conditional \"AMM_LIBBOOT\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+   as_fn_error $? "conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -71,6 +71,22 @@ case $canonical in
+     i?86-pc-solaris*) use=solaris-i386;;
+ esac
++AC_ARG_ENABLE([libboot],[put bootstrap code in shared library to be discarded],
++            [libboot=$enableval],[libboot="yes"])
++
++if test "$use" = "gnuwin95" ; then
++   FF=o/firstfile.o
++   AC_SUBST(FF)
++   LF=o/lastfile.o
++   AC_SUBST(LF)
++   libboot="no"
++fi
++
++AM_CONDITIONAL([AMM_LIBBOOT],[test "$libboot" = "yes"])
++if test "$libboot" = "yes" ; then
++   AC_DEFINE([USE_LIBBOOT],[1],[boot code in shared library])
++fi
++
+ AC_ARG_ENABLE([machine],[  --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs],
+             [echo enable_machine=$enableval ; use=$enableval])
+@@ -271,19 +287,11 @@ case $use in
+       assert_arg_to_cflags -mms-bitfields
+       for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
+           cat $i.in | sed 's,[^\r]\n$,\r\n,g' >tmp && mv tmp $i.in;
+-      done
+-      OLD_LDFLAGS=$LDFLAGS
+-      assert_arg_to_ldflags -pg
+-      GPL_FLAG="-pg"
+-      LDFLAGS=$OLD_LDFLAGS;;
++      done;;
+     *gnuwin*)
+       assert_arg_to_cflags -fno-zero-initialized-in-bss
+       assert_arg_to_cflags -mms-bitfields
+-        assert_arg_to_ldflags -Wl,--stack,8000000
+-      OLD_LDFLAGS=$LDFLAGS
+-      assert_arg_to_ldflags -pg
+-      GPL_FLAG="-pg"
+-      LDFLAGS=$OLD_LDFLAGS;;
++        assert_arg_to_ldflags -Wl,--stack,8000000;;
+     386-linux)
+       if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
+          add_arg_to_cflags -ffloat-store;
+@@ -793,6 +801,7 @@ esac
+ # mechanism, in the PAGE macro.  This offset is subtracted from
+ # addresses, in calculating a page for an address in the heap.
++AC_CHECK_SIZEOF(size_t,0)
+ AC_CHECK_SIZEOF(long,0)
+ AC_CHECK_SIZEOF(short,0)
+ AC_CHECK_SIZEOF(int,0)
+@@ -853,7 +862,8 @@ esac
+ AC_MSG_CHECKING([for hugepagewidth])
+ j=""
+ if test -e /proc/meminfo ; then
+-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
++   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
++   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
+ fi
+ if test "$j" != "" ; then
+    AC_MSG_RESULT([$j])
+@@ -1849,9 +1859,6 @@ AC_CONFIG_FILES([bin/gcl])
+ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
+ AC_CHECK_HEADERS(alloca.h)
+-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+-#AM_LDFLAGS = $LDFLAGS
+ BASE_LDFLAGS="$LDFLAGS"
+ LDFLAGS=""
+ AC_SUBST(BASE_LDFLAGS)
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore2"
++"Version_2_7_2ore3"
+--- gcl27-2.7.1.orig/h/386-macosx.h
++++ gcl27-2.7.1/h/386-macosx.h
+@@ -132,7 +132,7 @@ if (realpath (buf, fub) == 0) {
+ #define UC(a_) ((ucontext_t *)a_)
+ #define SF(a_) ((siginfo_t *)a_)
+-#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
++#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
+ #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_fop ? UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr)
+ #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext->__ss), \
+                         make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \
+--- gcl27-2.7.1.orig/h/compprotos.h
++++ gcl27-2.7.1/h/compprotos.h
+@@ -85,7 +85,11 @@ char object_to_char(object);
+ void not_a_symbol(object);
+ object number_expt(object,object);
+ object fLrow_major_aref(object,fixnum);
++#if SIZEOF_SIZE_T == SIZEOF_INT
++void *alloca(unsigned);
++#else
+ void *alloca(unsigned long);
++#endif
+ object cmod(object);
+ object ctimes(object,object);
+ object cdifference(object,object);
+--- gcl27-2.7.1.orig/h/gclincl.h.in
++++ gcl27-2.7.1/h/gclincl.h.in
+@@ -315,6 +315,9 @@
+ /* The size of 'short', as computed by sizeof. */
+ #undef SIZEOF_SHORT
++/* The size of 'size_t', as computed by sizeof. */
++#undef SIZEOF_SIZE_T
++
+ /* staticly linked images */
+ #undef STATIC_LINKING
+@@ -332,6 +335,9 @@
+ /* use gprof */
+ #undef USE_GPROF
++/* boot code in shared library */
++#undef USE_LIBBOOT
++
+ /* use readline library */
+ #undef USE_READLINE
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -1450,8 +1450,6 @@ void init_shared_memory(void);
+ void * object_to_pointer(object);
+-void * alloca(unsigned long);
+-
+ object make_dcomplex(dcomplex);
+ object find_init_string(const char *);
+--- gcl27-2.7.1.orig/info/internal.texi
++++ gcl27-2.7.1/info/internal.texi
+@@ -218,7 +218,7 @@ GCL specific: The compiler defines a Lis
+ calling sequence to the C language function specified by C-FUNCTION.  The
+ interpreter ignores this form.  The ARG-TYPES specifies the C types of the
+ arguments which C-FUNCTION requires.  The list of allowed types is (object
+-char int float double string).  Code will be produced to coerce from a lisp
++char int long float double string).  Code will be produced to coerce from a lisp
+ object to the appropriate type before passing the argument to the C-FUNCTION.
+ The c-function should be of the form (c-result-type c-fname) where
+ c-result-type is a member of (void object char int float double string).
+--- gcl27-2.7.1.orig/lsp/gcl_info.lsp
++++ gcl27-2.7.1/lsp/gcl_info.lsp
+@@ -96,18 +96,12 @@
+ (defun get-index-node ()
+  (or (third *current-info-data*) 
+-     (let* (
+-          s
+-          (node-string (car (nth 1 *current-info-data*)))
+-          (node
+-           (and node-string (car (get-nodes "Index" node-string)))))
+-       (when node
+-         (setq s (show-info
+-                  node
+-                  nil
+-                  nil
+-                  ))
+-      (setf (third *current-info-data*) s)))))
++     (let* ((node-string (car (nth 1 *current-info-data*)))
++          (nodes (when node-string (get-nodes "Index" node-string))))
++       (when nodes
++       (setf (third *current-info-data*)
++             (reduce 'string-concatenate
++                     (mapcar (lambda (x) (show-info x nil nil)) nodes)))))))
+ (defun nodes-from-index (pat  &aux (i 0) ans
+                             (*case-fold-search* t) *match-data*)
+--- gcl27-2.7.1.orig/o/format.c
++++ gcl27-2.7.1/o/format.c
+@@ -160,11 +160,11 @@ object sSAindent_formatted_outputA;
+                       VOL int old_fmt_index; \
+                       VOL int old_fmt_end; \
+                       VOL object old_fmt_iteration_list; \
+-                      jmp_bufp   VOL old_fmt_jmp_bufp; \
++                      jmp_bufp VOL old_fmt_jmp_bufp; \
+                       VOL int old_fmt_indents; \
+                       VOL object old_fmt_string ; \
+-                      VOL object(*old_fmt_advance)(void) ;    \
+-                      VOL void (*old_fmt_lt)(volatile bool,bool) ;    \
++                      object(*VOL old_fmt_advance)(void) ;    \
++                      void (*VOL old_fmt_lt)(volatile bool,bool) ;    \
+                         VOL format_parameter *old_fmt_paramp
+ #define       fmt_save        old_fmt_stream = fmt_stream; \
+                       old_ctl_origin = ctl_origin; \
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -582,7 +582,7 @@ void
+ init_boot(void) {
+   char *sysd=getenv("GCL_SYSDIR"),*d=sysd ? sysd : kcl_self;
+-#ifndef __CYGWIN__
++#ifdef USE_LIBBOOT
+   void *v,*q;
+ #endif
+   char *z,*s="libboot.so";
+@@ -592,14 +592,14 @@ init_boot(void) {
+   sSAoptimize_maximum_pagesA->s.s_dbind=Cnil;
+   z=alloca(n);
+   snprintf(z,n,"%-*.*s%s",(int)m,(int)m,d,s);
+-#ifndef __CYGWIN__
++#ifdef USE_LIBBOOT
+   if (!(v=dlopen(z,RTLD_LAZY|RTLD_GLOBAL)))
+     printf("%s\n",dlerror());
+   if (!(q=dlsym(v,"gcl_init_boot")))
+     printf("%s\n",dlerror());
+ #endif
+   initializing_boot=1;
+-#ifdef __CYGWIN__
++#ifndef USE_LIBBOOT
+   {
+     extern void gcl_init_boot(void);
+     gcl_init_boot();
+--- gcl27-2.7.1.orig/unixport/init_raw.lsp.in
++++ gcl27-2.7.1/unixport/init_raw.lsp.in
+@@ -90,13 +90,13 @@
+ (in-package :compiler)
+ (setq *cc* @LI_CC@
+-      *default-prof-p* (> (length @LI_DFP@) 0)
+       *ld* @LI_LD@
+       *ld-libs* @LI_LD_LIBS@
+       *ld-libs* (concatenate 'string "-l" #+ansi-cl "ansi_" "gcl" #+gprof "_gprof" " " *ld-libs*)
+       *opt-three* @LI_OPT_THREE@
+       *opt-two* @LI_OPT_TWO@
+-      *init-lsp* @LI_INIT_LSP@)
++      *init-lsp* @LI_INIT_LSP@
++      si::*info-paths* (cons "@prefix@/share/info/" si::*info-paths*))
+ (import 'si::(clines defentry defcfun object void int double quit bye gbc system
+                    commonp *break-on-warnings* make-char char-bits char-font
diff --git a/patches/Version_2_7_2pre1 b/patches/Version_2_7_2pre1
new file mode 100644 (file)
index 0000000..3d24baf
--- /dev/null
@@ -0,0 +1,21 @@
+Description: Update to git tag Version_2_7_2pre1
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_0"
++"Version_2_7_2ore1"
+--- gcl27-2.7.1.orig/o/alloc.c
++++ gcl27-2.7.1/o/alloc.c
+@@ -707,6 +707,7 @@ empty_relblock(void) {
+   for (;!rb_emptyp();) {
+     tm_table[t_relocatable].tm_adjgbccnt--;
+     expand_contblock_index_space();
++    expand_contblock_array();
+     GBC(t_relocatable);
+   }
+   sSAleaf_collection_thresholdA->s.s_dbind=o;
diff --git a/patches/Version_2_7_2pre10 b/patches/Version_2_7_2pre10
new file mode 100644 (file)
index 0000000..fbad1a9
--- /dev/null
@@ -0,0 +1,191 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 22 2026 16:56:52 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -110,7 +110,7 @@ endif
+ EXTRA_DIST=$(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
+          lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
+-         majvers minvers git.tag release
++         majvers minvers git.tag release bin/c23.awk
+ # end of primaries
+@@ -123,7 +123,7 @@ INCL_TEXI=$(addprefix info/,$(addsuffix
+ INCL_C=o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
+        o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
+-       o/sfasli.c o/firstfile.c o/lastfile.c
++       o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
+ INIT_L=unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
+ BASE_H= h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
+       h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+@@ -459,8 +459,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+-      chmod +x bin/c23.awk
+-      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++      chmod +x $(word 3,$^)
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+       @cat $^ >new_$(@F)
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -1017,7 +1017,7 @@ dist_noinst_DATA = $(am__append_5) $(am_
+ EXTRA_DIST = $(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
+          lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
+-         majvers minvers git.tag release
++         majvers minvers git.tag release bin/c23.awk
+ # end of primaries
+@@ -1030,7 +1030,7 @@ INCL_TEXI = $(addprefix info/,$(addsuffi
+ INCL_C = o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
+        o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
+-       o/sfasli.c o/firstfile.c o/lastfile.c
++       o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
+ INIT_L = unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
+ BASE_H = h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
+@@ -4907,8 +4907,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+-      chmod +x bin/c23.awk
+-      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++      chmod +x $(word 3,$^)
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+       @cat $^ >new_$(@F)
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -301,8 +301,11 @@
+       (unless (= nreq nsup) (list "_n==" (- (1+ nreq)) (unless st "&&")))
+       (unless st "_l==Cnil") ")"))
+-(defun mod-argstr (n call st nsup)
+-  (let* ((x (commasep (append (nobs nsup "#") (nobs (- n nsup)) (when st (list "_l")))))
++(defun nobs-wrap (nobs sig &aux (at (car sig)))
++  (mapcar (lambda (x y) (ms  (cdr (assoc y +to-c-var-alist+)) "(" x ")")) nobs at))
++
++(defun mod-argstr (n call st nsup sig)
++  (let* ((x (commasep (append (nobs nsup "#") (nobs-wrap (nobs (- n nsup)) sig) (when st (list "_l")))))
+        (s (or (position #\# call) (length call))))
+     (ms (subseq call 0 s) x)))
+@@ -349,7 +352,7 @@
+       (let ((nl (list (string #\Newline) "        ")))
+       (ms (list "@" (nords (1+ nsup)) ";") 
+           "({" (bind-str nreq nsup nl) nl (cond-str nreq nsup st)  " ? " nl
+-          (nvfun-wrap cname (mod-argstr nreq argstr st nsup) sig clp ap) " : " nl
++          (nvfun-wrap cname (mod-argstr nreq argstr st nsup sig) sig clp ap) " : " nl
+           (insufficient-arg-str fnstr nreq nsup sig st) ";})")))))
+@@ -490,14 +493,16 @@
+ (defun stub (num name args type clp
+-           &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
++           &aux (va (eq '* (car (last args)))) (n (if va 1 0))
++             (i (max n (- (length args) n)));FIXME
++             (si (write-to-string i))
+              (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
+   (concatenate
+    'string
+    (stub-decl (concatenate 'string "LnkT" num) args d t)
+    "{
+-      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
+-      object *FOO=alloca(nargs*sizeof(*FOO));
++      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" si) ";
++      object *FOO=alloca((nargs>" si "? nargs : " si ")*sizeof(*FOO));
+       "
+    (let ((j 0))
+@@ -512,9 +517,9 @@
+       "
+       {
+           va_list ap;
+-          va_start(ap,x" (write-to-string i) ");
++          va_start(ap,x" si ");
+           int i;
+-          for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
++          for (i=" si ";i<nargs;i++) FOO[i]=va_arg(ap,object);
+           va_end(ap);
+       }"))
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre9"
++"Version_2_7_2pre10"
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -375,7 +375,7 @@ object funcall_vec(object,fixnum,object
+ #ifdef __MINGW32__
+ /* usig2.c:167:OF */ extern void main_signal_handler (int signo); /* (signo) int signo */
+ #else
+-/* /\* usig2.c:167:OF *\/ extern void main_signal_handler (int signo, siginfo_t *a, void *b); /\* (signo, a, b) int signo; int a; int b; *\/ */
++/* usig2.c:167:OF */ void main_signal_handler(int,long,void *,char *) __attribute__((aligned (16)));
+ #endif
+ /* usig2.c:375:OF */ extern void raise_pending_signals (int cond); /* (cond) int cond; */
+ /* utils.c:12:OF */ extern object IisSymbol (object f); /* (f) object f; */
+--- gcl27-2.7.1.orig/h/sparc-linux.h
++++ gcl27-2.7.1/h/sparc-linux.h
+@@ -12,7 +12,6 @@
+ #else
+ #define RELOC_H "elf64_sparc_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
+-void unwind() __attribute__((optimize("O0")));/*FIXME*/
+ #endif
+ /* #if SIZEOF_LONG == 8 */
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -57,7 +57,7 @@
+                          (d (pathname-directory p))
+                          (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
+                          (lc (when c (length c)))
+-                         (filesp (or (pathname-name p) (pathname-type p)))
++                         (filesp (not (and (eq (pathname-name p) :unspecific) (eq (pathname-type p) :unspecific))))
+                          (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
+   (expand-wild-directory (pathname-device p) d
+    (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
+--- gcl27-2.7.1.orig/o/usig.c
++++ gcl27-2.7.1/o/usig.c
+@@ -47,8 +47,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
+ extern char signals_handled[];
+-extern handler_function_type main_signal_handler;
+-
+ void
+ gcl_signal(int signo, void (*handler)(int,long,void *,char *))
+ {
diff --git a/patches/Version_2_7_2pre11 b/patches/Version_2_7_2pre11
new file mode 100644 (file)
index 0000000..030f99b
--- /dev/null
@@ -0,0 +1,85 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 26 2026 16:58:56 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+Bug-Debian: https://bugs.debian.org/1108096
+Bug-Debian: https://bugs.debian.org/1118704
+Bug-Debian: https://bugs.debian.org/1122744
+Bug-Debian: https://bugs.debian.org/1128546
+Bug-Debian: https://bugs.debian.org/1128663
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/ansi-tests/read-byte.lsp
++++ gcl27-2.7.1/ansi-tests/read-byte.lsp
+@@ -96,7 +96,9 @@
+      (let ((s (open "foo.txt"
+                  :direction :input
+                  :element-type '(unsigned-byte 8))))
+-       (read-byte s))
++       (unwind-protect
++         (read-byte s)
++       (close s)))
+      end-of-file))
+   t)
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1 @@
+-"Version_2_7_2pre10"
+-
++"Version_2_7_2pre11"
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -73,7 +73,6 @@ struct key {short n,allow_other_keys;
+ /* bind.c:975:OF */ extern void set_key_struct (struct key *ks, object data); /* (ks, data) struct key *ks; object data; */
+ /* bind.c:995:OF */ extern void gcl_init_bind (void); /* () */
+ /* block.c:121:OF */ extern void gcl_init_block (void); /* () */
+-/* bsearch.c:5:OF */ extern void *bsearch (const void *key, const void *base, size_t nel, size_t keysize, int (*compar) (const void *,const void *)); /* (key, base, nel, keysize, compar) char *key; char *base; unsigned int nel; unsigned int keysize; int (*compar)(); */
+ #if defined (__MINGW32__)
+ /* bzero.c:3:OF */ /*  extern void bzero (char *b, size_t length); */ /* (b, length) char *b; int length; */
+ #endif
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -43,7 +43,7 @@
+                                                 (string-concatenate "(" (substitute #\^ #\! (subseq x 0 2)) (subseq x 2) ")")))
+                                         (cons #v"\\*" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "]*)") "(.*)")))
+                                         (cons #v"\\?" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "])") "(.)")))
+-                                        (cons #v"\\." (lambda (x y) (declare (ignore x y))"\\."))))
++                                        (cons #v"[+|.^$()]" (lambda (x y) (declare (ignore x y))(string-concatenate "\\" x)))))
+ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
+                                           ("" "" "" "")
+--- gcl27-2.7.1.orig/lsp/gcl_truename.lsp
++++ gcl27-2.7.1/lsp/gcl_truename.lsp
+@@ -8,7 +8,13 @@
+          (fr (set-fr fr (if (eql i -1) n i)))
+          (l (when (eq (stat1 fr) :link) (readlinkat 0 fr))))
+       (cond (l (let ((b (if (eql #\/ (aref l 0)) 0 b)))
+-               (link-expand (concatenate 'string (set-fr fr b) l (frame (if (eql i -1) n i) n)) b)))
++               (link-expand (concatenate
++                             'string
++                             (set-fr fr b)
++                             (let ((ll (1- (length l))))
++                               (if (eql #\/ (aref l ll)) (subseq l 0 ll) l))
++                             (frame (if (eql i -1) n i) n))
++                            b)))
+           ((eql i -1) str)
+           ((link-expand str (1+ i) n fr))))))
diff --git a/patches/Version_2_7_2pre2 b/patches/Version_2_7_2pre2
new file mode 100644 (file)
index 0000000..12d0bd8
--- /dev/null
@@ -0,0 +1,2242 @@
+Description: Update to git tag Version_2_7_2pre2
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -1,4 +1,5 @@
+-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
++C_INCLUDE_PATH:=$(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
++export C_INCLUDE_PATH
+ AM_CPPFLAGS=$(BASE_CPPFLAGS)
+ AM_CFLAGS=$(BASE_CFLAGS)
+@@ -244,14 +245,14 @@ unixport/saved_%: | unixport/raw_% unixp
+               ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+               mkdir h && \
+               ln -snf ../../h/cmpinclude.h h/ && \
+-              GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
+-                      ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
+-                          < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
+-              rm -f ../unixport/gcl_cmpnopt.lsp
++              echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++                      GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++                              ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
++              rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+       rm -rf sb_$*
+ unixport/raw_%: unixport/lib%.a
+-      $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -309,7 +310,7 @@ unixport/mod_gcl:  | unixport/saved_mod_
+ unixport/pcl_gcl:  | unixport/saved_mod_gcl
+ unixport/ansi_gcl:  | unixport/saved_pcl_gcl
+ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
+-      $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
++      echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
+ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
+       ln -snf $$(basename $(word 2,$|)) $@
+@@ -434,16 +435,16 @@ CMPINCLUDE_FILES=h/cmpincl1.h h/gclincl.
+ CLEANFILES+=h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h
+ h/mstdint.h:
+-      echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
++      echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
+ h/mcompdefs.h: h/compdefs.h h/new_decl.h
+       $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
+-      $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
+       $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
+ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
+       cat $< $| $(filter-out $<,$^) | \
+-              $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
++              $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+@@ -454,7 +455,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
+ h/new_decl.h: $(INI_FILES)
+       echo '#include "make-decl.h"' > foo.c
+       cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
+-      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+       rm -f foo.c
+ o/boot.h: %.h: %.ini
+@@ -472,7 +473,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+ o/%.ini:  o/%.c | o/grab_defs
+-      @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+       @rm -f new_$(@F)
+@@ -483,6 +484,16 @@ o/new_init.c: $(INI_FILES)
+       echo '}' >> $@
+       ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
++      [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++      cd $(@D) && \
++      echo "(load \"gclload1\")" \
++           "(compile-and-load \"random-int-form.lsp\")" \
++           "(in-package :cl-test)" \
++           "(let ((*random-state* (make-random-state t))) \
++                    (test-random-integer-forms 100 4 10000))" | \
++              GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
++
+ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
+       [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+       cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
+@@ -577,7 +588,7 @@ clean_%:
+       rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
+ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
+-      rm -rf sb_ansi-tests sb_cmpnew sb_bench
++      rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
+ distclean-local:
+       rm -rf gcl.script unixport/gcl.script #FIXME
+@@ -588,3 +599,18 @@ AM_ETAGSFLAGS=--regex='/[ \n\t\#\.`]*(de
+             --regex='/[ \n\t\#\.`]*(defmfun[ \n\t]+"[^ \n\t"]+"[ \n\t]+\([^ \n\t]+\)/\1/'
+ TAGS_FILES=lsp/*.lsp cmpnew/*.lsp mod/*.lsp pcl/*sp clcs/*sp xgcl-2/*p
++
++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
++                      chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
++                      chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
++                      chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
++      touch $@
++
++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
++                      number sequence character list io form compile \
++                      symbol system structure iteration user-interface doc type internal c-interface \
++                      si-defs debug misc compiler-defs japi))
++      touch $@
++
++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
++      touch $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -683,7 +683,6 @@ distcleancheck_listfiles = \
+   find . \( -type f -a \! \
+             \( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
+ ACLOCAL = @ACLOCAL@
+-ALLOCA = @ALLOCA@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AUTOCONF = @AUTOCONF@
+@@ -839,6 +838,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++C_INCLUDE_PATH := $(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
+ AM_CPPFLAGS = $(BASE_CPPFLAGS)
+ AM_CFLAGS = $(BASE_CFLAGS)
+ AM_LDFLAGS = $(BASE_LDFLAGS)
+@@ -4528,7 +4528,7 @@ uninstall-man: uninstall-man1
+ .PRECIOUS: Makefile
+-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
++export C_INCLUDE_PATH
+ unixport/saved_gcl$(EXEEXT):
+ unixport/saved_ansi_gcl$(EXEEXT):
+ unixport/saved_gcl_gprof$(EXEEXT):
+@@ -4549,14 +4549,14 @@ unixport/saved_%: | unixport/raw_% unixp
+               ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+               mkdir h && \
+               ln -snf ../../h/cmpinclude.h h/ && \
+-              GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
+-                      ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
+-                          < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
+-              rm -f ../unixport/gcl_cmpnopt.lsp
++              echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++                      GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++                              ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
++              rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+       rm -rf sb_$*
+ unixport/raw_%: unixport/lib%.a
+-      $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++      $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -4609,7 +4609,7 @@ unixport/mod_gcl:  | unixport/saved_mod_
+ unixport/pcl_gcl:  | unixport/saved_mod_gcl
+ unixport/ansi_gcl:  | unixport/saved_pcl_gcl
+ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
+-      $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
++      echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
+ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
+       ln -snf $$(basename $(word 2,$|)) $@
+@@ -4726,16 +4726,16 @@ ansi_gcl/%.o: clcs/%.lisp | unixport/ans
+       cat $*.data >>$@
+ h/mstdint.h:
+-      echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
++      echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
+ h/mcompdefs.h: h/compdefs.h h/new_decl.h
+       $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
+-      $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
+       $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
+ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
+       cat $< $| $(filter-out $<,$^) | \
+-              $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
++              $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+@@ -4746,7 +4746,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
+ h/new_decl.h: $(INI_FILES)
+       echo '#include "make-decl.h"' > foo.c
+       cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
+-      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+       rm -f foo.c
+ o/boot.h: %.h: %.ini
+@@ -4762,7 +4762,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+ o/%.ini:  o/%.c | o/grab_defs
+-      @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+       @rm -f new_$(@F)
+@@ -4773,6 +4773,16 @@ o/new_init.c: $(INI_FILES)
+       echo '}' >> $@
+       ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
++      [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++      cd $(@D) && \
++      echo "(load \"gclload1\")" \
++           "(compile-and-load \"random-int-form.lsp\")" \
++           "(in-package :cl-test)" \
++           "(let ((*random-state* (make-random-state t))) \
++                    (test-random-integer-forms 100 4 10000))" | \
++              GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
++
+ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
+       [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+       cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
+@@ -4862,12 +4872,27 @@ clean_%:
+       rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
+ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
+-      rm -rf sb_ansi-tests sb_cmpnew sb_bench
++      rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
+ distclean-local:
+       rm -rf gcl.script unixport/gcl.script #FIXME
+       rm -rf h/config.h #FIXME
++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
++                      chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
++                      chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
++                      chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
++      touch $@
++
++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
++                      number sequence character list io form compile \
++                      symbol system structure iteration user-interface doc type internal c-interface \
++                      si-defs debug misc compiler-defs japi))
++      touch $@
++
++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
++      touch $@
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -162,113 +162,28 @@
+ ;; (defmacro referred-length (info)
+ ;;   `(length (info-ref ,info)))
+-(defun imerge (x y list)
+-  (nunion x (intersection y list :test 'eq) :test 'eq))
+-(declaim (inline imerge))
++(declaim (inline in-env-p))
++(defun in-env-p (x)
++  (typecase x
++    (symbol t)
++    (structure (or (member x *vars*) (member x *blocks*) (member x *tags*) (member x *funs*)))))
+ (defun add-info (to-info from-info)
+   ;; Allow nil from-info without error CM 20031030
+   (unless from-info (return-from add-info to-info))
+-  (macrolet ((mrg (field) `(let* ((r (,field from-info))) 
+-                            (when r
+-                              (setf (,field to-info) (imerge (,field to-info) r *vars*)
+-                                    (,field to-info) (imerge (,field to-info) r *blocks*)
+-                                    (,field to-info) (imerge (,field to-info) r *tags*)
+-                                    (,field to-info) (imerge (,field to-info) r *funs*))))))
++  (macrolet ((mrg (field)
++             `(setf (,field to-info)
++                    (union (,field to-info)
++                           (remove-if-not 'in-env-p (,field from-info))
++                           :test 'eq))))
+           (mrg info-ch)
+           (mrg info-ref-ccb)
+           (mrg info-ref-clb)
+           (mrg info-ref))
+   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-  (setf (info-ref to-info) (nunion (info-ref to-info) (remove-if-not 'symbolp (info-ref from-info))));FIXME nunion asym
+   (setf (info-ch-ccb to-info) (nunion (info-ch-ccb to-info) (info-ch-ccb from-info)))
+   to-info)
+-;; (defun add-info (to-info from-info)
+-;;   ;; Allow nil from-info without error CM 20031030
+-;;   (unless from-info (return-from add-info to-info))
+-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
+-;;         (mrg1 (field) `(let* ((r (,field from-info))) 
+-;;                          (when r
+-;;                            (setf (,field to-info) (imerge (,field to-info) r *vars*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *blocks*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *tags*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *funs*))))))
+-;;        (mrg  info-ch        *vars*)
+-;;        (mrg1 info-ref-ccb)
+-;;        (mrg1 info-ref-clb)
+-;;        (mrg1 info-ref))
+-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;;   to-info)
+-
+-;; (defun add-info (to-info from-info)
+-;;   ;; Allow nil from-info without error CM 20031030
+-;;   (unless from-info (return-from add-info to-info))
+-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
+-;;         (mrg1 (field) `(let* ((r (,field from-info))) 
+-;;                          (when r
+-;;                            (setf (,field to-info) (imerge (,field to-info) r *vars*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *blocks*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *tags*)
+-;;                                  (,field to-info) (imerge (,field to-info) r *funs*))))))
+-;;        (mrg info-ref       *vars*)
+-;;        (mrg info-ch        *vars*)
+-;;        (mrg info-blocks    *blocks*)
+-;;        (mrg info-tags      *tags*)
+-;;        (when *make-fast-ref*
+-;;          (mrg1 info-vref-ccb)
+-;;          (mrg1 info-vref-clb)
+-;;          (mrg1 info-vref)))
+-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;;   to-info)
+-
+-;; (defun add-info (to-info from-info)
+-;;   ;; Allow nil from-info without error CM 20031030
+-;;   (unless from-info (return-from add-info to-info))
+-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn))))))
+-;;        (mrg info-ref       *vars*)
+-;;        (mrg info-ch        *vars*)
+-;;        (mrg info-blocks    *blocks*)
+-;;        (mrg info-tags      *tags*)
+-;;        (mrg info-vref-ccb  *vars*)
+-;;        (mrg info-vref-clb  *vars*)
+-;;        (mrg info-vref      *vars*)
+-;;        (mrg info-bref-ccb  *blocks*)
+-;;        (mrg info-bref-clb  *blocks*)
+-;;        (mrg info-bref      *blocks*)
+-;;        (mrg info-tref-ccb  *tags*)
+-;;        (mrg info-tref-clb  *tags*)
+-;;        (mrg info-tref      *tags*)
+-;;        (mrg info-fref-ccb  *funs*)
+-;; ;      (mrg info-fref-clb  *funs*)
+-;;        (mrg info-fref      *funs*))
+-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;;   to-info)
+-
+-;;   (setf (info-ref to-info) (imerge (info-ref to-info) (info-ref from-info) *vars*)
+-;;    (info-ch to-info)  (imerge (info-ch to-info)  (info-ch from-info) *vars*)
+-;;    (info-blocks to-info) (imerge (info-blocks to-info) (info-blocks from-info) *blocks*)
+-;;    (info-tags to-info) (imerge (info-tags to-info) (info-tags from-info) *tags*)
+-;;    (info-vref-ccb to-info) (imerge (info-vref-ccb to-info) (info-vref-ccb from-info) *vars*)
+-;;    (info-vref-clb to-info) (imerge (info-vref-clb to-info) (info-vref-clb from-info) *vars*)
+-;;    (info-vref to-info) (imerge (info-vref to-info) (info-vref from-info) *vars*)
+-;;    (info-bref-ccb to-info) (imerge (info-bref-ccb to-info) (info-bref-ccb from-info) *blocks*)
+-;;    (info-bref-clb to-info) (imerge (info-bref-clb to-info) (info-bref-clb from-info) *blocks*)
+-;;    (info-bref to-info) (imerge (info-bref to-info) (info-bref from-info) *blocks*)
+-;;    (info-tref-ccb to-info) (imerge (info-tref-ccb to-info) (info-tref-ccb from-info) *tags*)
+-;;    (info-tref-clb to-info) (imerge (info-tref-clb to-info) (info-tref-clb from-info) *tags*)
+-;;    (info-tref to-info) (imerge (info-tref to-info) (info-tref from-info) *tags*)
+-;;    (info-fref-ccb to-info) (imerge (info-fref-ccb to-info) (info-fref-ccb from-info) *funs*)
+-;; ;  (info-fref-clb to-info) (imerge (info-fref-clb to-info) (info-fref-clb from-info) *funs*)
+-;;    (info-fref to-info) (imerge (info-fref to-info) (info-fref from-info) *funs*)
+-;;    )
+-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;;   to-info)
+-
+ (defconstant +c1nil+ (list 'LOCATION (make-info :type (object-type nil)) nil))
+ (defmacro c1nil () `+c1nil+)
+ (defconstant +c1t+ (list 'LOCATION (make-info :type (object-type t)) t))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
+@@ -707,31 +707,6 @@ Cannot compile ~a.~%" (namestring (merge
+          do (setq m (si::fread tem 0 n st-b))
+          while (and m (> m 0))
+          do (si::fwrite tem 0 m st-a))))))
+-
+-#+dos
+-(progn
+-(defun directory (x &aux ans)
+-  (let* ((pa (pathname x))
+-       (temp "XXDIR")
+-       tem
+-       (name (pathname-name pa)))
+-    (setq pa (make-pathname :directory (pathname-directory pa)
+-                          :name (or (pathname-name pa) :wild)
+-                          :type (pathname-type pa)))
+-    (setq name (namestring pa))
+-    (safe-system (format nil "ls -d ~a > ~a" name temp))
+-    (with-open-file (st temp)
+-          (loop (setq tem (read-line st nil nil))
+-                (if (and tem (setq tem (probe-file tem)))
+-                    (push tem ans) (return))))
+-    ans))
+-
+-
+-(defun user-homedir-pathname ()
+-  (or (si::getenv "HOME") "/"))
+-
+-)
+-
+ ;
+ ;  These functions are added to build custom images requiring
+ ;  the loading of binary objects on systems relocating with dlopen.
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -664,7 +664,6 @@ BASE_CFLAGS
+ NIFLAGS
+ FINAL_CFLAGS
+ BASE_LDFLAGS
+-ALLOCA
+ EXT
+ TCL_LIB_SPEC
+ TK_LIB_SPEC
+@@ -2189,65 +2188,6 @@ printf "%s\n" "$ac_res" >&6; }
+   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ } # ac_fn_check_decl
+-
+-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+-# -------------------------------------------
+-# Tests whether TYPE exists after having included INCLUDES, setting cache
+-# variable VAR accordingly.
+-ac_fn_c_check_type ()
+-{
+-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+-printf %s "checking for $2... " >&6; }
+-if eval test \${$3+y}
+-then :
+-  printf %s "(cached) " >&6
+-else case e in #(
+-  e) eval "$3=no"
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-$4
+-int
+-main (void)
+-{
+-if (sizeof ($2))
+-       return 0;
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-$4
+-int
+-main (void)
+-{
+-if (sizeof (($2)))
+-          return 0;
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+-
+-else case e in #(
+-  e) eval "$3=yes" ;;
+-esac
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+-esac
+-fi
+-eval ac_res=\$$3
+-             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+-printf "%s\n" "$ac_res" >&6; }
+-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+-
+-} # ac_fn_c_check_type
+ ac_configure_args_raw=
+ for ac_arg
+ do
+@@ -7155,9 +7095,10 @@ add_args_to_cflags  -fsigned-char -pipe
+                   -std=gnu17 \
+                   -Wall \
+                   -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+-                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
++                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++                  -fbracket-depth=512
+-add_args_to_ldflags -no-pie # -Wl,-z,lazy
++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline semantics" >&5
+ printf %s "checking for inline semantics... " >&6; }
+@@ -9600,10 +9541,11 @@ else case e in #(
+               #include <unistd.h>
+               int
+               main(int argc,char **argv,char **envp) {
+-                  FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++                  FILE *fp = fopen("conftest1","w"),*f;
+                   unsigned long i,j;
+                   char b[4096];
+                   i=(unsigned long)alloca(sizeof(void *));
++                  f=fopen("/proc/self/maps","r");
+                   for (j=0;j<i && fgets(b,sizeof(b),f);)
+                       sscanf(b,"%x-",&j);
+                   j-=1;
+@@ -9648,11 +9590,12 @@ else case e in #(
+               #include <errno.h>
+               int
+               main(int argc,char **argv,char **envp) {
+-                  FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++                  FILE *fp = fopen("conftest1","w"),*f;
+                   unsigned long i,j;
+                   char b[4096],*stack_map_base;
+                   #include "$srcdir/h/cstack.h"
+                   i=(unsigned long)alloca(sizeof(void *));
++                  f=fopen("/proc/self/maps","r");
+                   for (j=0;j<i && fgets(b,sizeof(b),f);)
+                       sscanf(b,"%x-",&j);
+                   j-=1;
+@@ -9911,30 +9854,8 @@ printf "%s\n" "bfd_arch_${output_arch}"
+           { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ printf "%s\n" "not found" >&6; }
+       fi
+-      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking output_mach" >&5
+-printf %s "checking output_mach... " >&6; }
+-      output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
+-    if test "$output_mach" = "common" ; then #FIXME
+-         output_mach=""
+-      fi
+-      defaulted=""
+-    if test "$output_mach" = "" ; then
+-              if test "$output_arch" = "i386" ; then
+-                 output_mach="i386_i386";
+-                 defaulted="(defaulted)"
+-              fi
+-      fi
+-      if test "$output_mach" != "" ; then
+-
+-printf "%s\n" "#define OUTPUT_MACH bfd_mach_${output_mach}" >>confdefs.h
+-          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $defaulted bfd_mach_${output_mach}" >&5
+-printf "%s\n" "$defaulted bfd_mach_${output_mach}" >&6; }
+-      else
+-          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+-printf "%s\n" "not found" >&6; }
+-      fi
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying to adjust text start" >&5
+ printf "%s\n" "$as_me: trying to adjust text start" >&6;}
+@@ -11372,6 +11293,75 @@ if test "x$ac_cv_header_dis_asm_h" = xye
+ then :
+   printf "%s\n" "#define HAVE_DIS_ASM_H 1" >>confdefs.h
+  MLIBS=$LIBS
++
++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
++# -------------------------------------------
++# Tests whether TYPE exists after having included INCLUDES, setting cache
++# variable VAR accordingly.
++ac_fn_c_check_type ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++printf %s "checking for $2... " >&6; }
++if eval test \${$3+y}
++then :
++  printf %s "(cached) " >&6
++else case e in #(
++  e) eval "$3=no"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$4
++int
++main (void)
++{
++if (sizeof ($2))
++       return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$4
++int
++main (void)
++{
++if (sizeof (($2)))
++          return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++
++else case e in #(
++  e) eval "$3=yes" ;;
++esac
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++esac
++fi
++eval ac_res=\$$3
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_type
++ac_fn_c_check_type "$LINENO" "fprintf_styled_ftype" "ac_cv_type_fprintf_styled_ftype" "#include <dis-asm.h>
++"
++if test "x$ac_cv_type_fprintf_styled_ftype" = xyes
++then :
++
++printf "%s\n" "#define HAVE_FPRINTF_STYLED_FTYPE 1" >>confdefs.h
++
++
++fi
++
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for init_disassemble_info in -lopcodes" >&5
+ printf %s "checking for init_disassemble_info in -lopcodes... " >&6; }
+ if test ${ac_cv_lib_opcodes_init_disassemble_info+y}
+@@ -11670,171 +11660,6 @@ then :
+ fi
+-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+-if test "x$ac_cv_type_size_t" = xyes
+-then :
+-
+-else case e in #(
+-  e)
+-printf "%s\n" "#define size_t unsigned int" >>confdefs.h
+- ;;
+-esac
+-fi
+-
+-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+-# for constant arguments.  Useless!
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+-printf %s "checking for working alloca.h... " >&6; }
+-if test ${ac_cv_working_alloca_h+y}
+-then :
+-  printf %s "(cached) " >&6
+-else case e in #(
+-  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-#include <alloca.h>
+-int
+-main (void)
+-{
+-char *p = (char *) alloca (2 * sizeof (int));
+-                        if (p) return 0;
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+-  ac_cv_working_alloca_h=yes
+-else case e in #(
+-  e) ac_cv_working_alloca_h=no ;;
+-esac
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+-    conftest$ac_exeext conftest.$ac_ext ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+-printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
+-if test $ac_cv_working_alloca_h = yes; then
+-
+-printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h
+-
+-fi
+-
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+-printf %s "checking for alloca... " >&6; }
+-if test ${ac_cv_func_alloca_works+y}
+-then :
+-  printf %s "(cached) " >&6
+-else case e in #(
+-  e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h
+-if test "$ac_cv_func_alloca_works" != yes
+-then :
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-#include <stdlib.h>
+-#include <stddef.h>
+-#ifndef alloca
+-# ifdef __GNUC__
+-#  define alloca __builtin_alloca
+-# elif defined _MSC_VER
+-#  include <malloc.h>
+-#  define alloca _alloca
+-# else
+-#  ifdef  __cplusplus
+-extern "C"
+-#  endif
+-void *alloca (size_t);
+-# endif
+-#endif
+-
+-int
+-main (void)
+-{
+-char *p = (char *) alloca (1);
+-                                  if (p) return 0;
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+-  ac_cv_func_alloca_works=yes
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+-    conftest$ac_exeext conftest.$ac_ext
+-fi ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+-printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
+-
+-if test $ac_cv_func_alloca_works = yes; then
+-
+-printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
+-
+-else
+-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+-# that cause trouble.  Some versions do not even contain alloca or
+-# contain a buggy version.  If you still want to use their alloca,
+-# use ar to extract alloca.o from them instead of compiling alloca.c.
+-
+-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+-
+-printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h
+-
+-
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+-printf %s "checking stack direction for C alloca... " >&6; }
+-if test ${ac_cv_c_stack_direction+y}
+-then :
+-  printf %s "(cached) " >&6
+-else case e in #(
+-  e) if test "$cross_compiling" = yes
+-then :
+-  ac_cv_c_stack_direction=0
+-else case e in #(
+-  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-$ac_includes_default
+-int
+-find_stack_direction (int *addr, int depth)
+-{
+-  int dir, dummy = 0;
+-  if (! addr)
+-    addr = &dummy;
+-  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+-  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+-  return dir + dummy;
+-}
+-
+-int
+-main (int argc, char **argv)
+-{
+-  return find_stack_direction (0, argc + !argv + 20) < 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"
+-then :
+-  ac_cv_c_stack_direction=1
+-else case e in #(
+-  e) ac_cv_c_stack_direction=-1 ;;
+-esac
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+-  conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+-esac
+-fi
+- ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+-printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
+-printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h
+-
+-
+-fi
+-
+-
+ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -232,9 +232,10 @@ add_args_to_cflags  -fsigned-char -pipe
+                   -std=gnu17 \
+                   -Wall \
+                   -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+-                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
++                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++                  -fbracket-depth=512
+-add_args_to_ldflags -no-pie # -Wl,-z,lazy
++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
+ AC_MSG_CHECKING([for inline semantics])
+ AC_COMPILE_IFELSE(
+@@ -1039,10 +1040,11 @@ if test $cstack_direction -eq 1 ; then
+               #include <unistd.h>
+               int
+               main(int argc,char **argv,char **envp) {
+-                  FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++                  FILE *fp = fopen("conftest1","w"),*f;
+                   unsigned long i,j;
+                   char b[4096];
+                   i=(unsigned long)alloca(sizeof(void *));
++                  f=fopen("/proc/self/maps","r");
+                   for (j=0;j<i && fgets(b,sizeof(b),f);)
+                       sscanf(b,"%x-",&j);
+                   j-=1;
+@@ -1066,11 +1068,12 @@ if test $cstack_direction -eq 1 ; then
+               #include <errno.h>
+               int
+               main(int argc,char **argv,char **envp) {
+-                  FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++                  FILE *fp = fopen("conftest1","w"),*f;
+                   unsigned long i,j;
+                   char b[4096],*stack_map_base;
+                   #include "$srcdir/h/cstack.h"
+                   i=(unsigned long)alloca(sizeof(void *));
++                  f=fopen("/proc/self/maps","r");
+                   for (j=0;j<i && fgets(b,sizeof(b),f);)
+                       sscanf(b,"%x-",&j);
+                   j-=1;
+@@ -1212,25 +1215,28 @@ if test "`cat gcl.script | wc -l`" != "0
+       else
+           AC_MSG_RESULT([not found])
+       fi
+-      AC_MSG_CHECKING([output_mach])
+-      output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
+-    if test "$output_mach" = "common" ; then #FIXME
+-         output_mach=""
+-      fi
+-      defaulted=""
+-    if test "$output_mach" = "" ; then
+-              if test "$output_arch" = "i386" ; then
+-                 output_mach="i386_i386";
+-                 defaulted="(defaulted)"
+-              fi
+-      fi
+-      if test "$output_mach" != "" ; then
+-          AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
+-          AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
+-      else
+-          AC_MSG_RESULT([not found])
+-      fi
++      dnl FIXME this does not work reliably.  Defines added by hand to .h files, but this is fragile.
++      dnl
++      dnl AC_MSG_CHECKING([output_mach])
++      dnl output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
++
++      dnl if test "$output_mach" = "common" ; then #FIXME
++      dnl    output_mach=""
++      dnl fi
++      dnl defaulted=""
++      dnl if test "$output_mach" = "" ; then
++      dnl     if test "$output_arch" = "i386" ; then
++      dnl        output_mach="i386_i386";
++      dnl        defaulted="(defaulted)"
++      dnl     fi
++      dnl fi
++      dnl if test "$output_mach" != "" ; then
++      dnl     AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
++      dnl     AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
++      dnl else
++      dnl     AC_MSG_RESULT([not found])
++      dnl fi
+       AC_MSG_NOTICE([trying to adjust text start])
+       cp gcl.script gcl.script.def
+@@ -1740,6 +1746,7 @@ AC_CHECK_FUNCS(feenableexcept)
+ AC_CHECK_HEADERS(dis-asm.h,
+                MLIBS=$LIBS
++               AC_CHECK_TYPES([fprintf_styled_ftype],[],[],[#include <dis-asm.h>])
+                AC_CHECK_LIB(opcodes,init_disassemble_info)
+                AC_CHECK_LIB(dl,dlopen,#opcodes changes too quickly to link directly
+                             AC_CHECK_FUNCS(print_insn_i386,LIBS="$MLIBS -ldl")))
+@@ -1841,8 +1848,6 @@ AC_CONFIG_FILES([bin/gcl])
+ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
+ AC_CHECK_HEADERS(alloca.h)
+-AC_FUNC_ALLOCA
+-
+ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore1"
++"Version_2_7_2ore2"
+--- /dev/null
++++ gcl27-2.7.1/git_touch
+@@ -0,0 +1,7 @@
++#!/bin/bash
++
++touch aclocal.m4 \
++      configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
++      configure \
++      Makefile.am Makefile.in \
++      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
+--- gcl27-2.7.1.orig/h/386-linux.h
++++ gcl27-2.7.1/h/386-linux.h
+@@ -9,3 +9,5 @@
+ #define SGC
+ #define RELOC_H "elf32_i386_reloc.h"
++
++#define OUTPUT_MACH bfd_mach_i386_i386
+--- gcl27-2.7.1.orig/h/386-macosx.h
++++ gcl27-2.7.1/h/386-macosx.h
+@@ -21,23 +21,11 @@
+ #undef HAVE_ELF
+-/** sbrk(2) emulation  */
+-
+ /* Alternatively, we could use the global variable vm_page_size.  */
+ #define PAGEWIDTH 12
+-/* The following value determines the running process heap size.  */
+-/* #define BIG_HEAP_SIZE   0x50000000 */
+-
+-extern char *mach_mapstart;
+-extern char *mach_maplimit;
+-extern char *mach_brkpt;
+-
+-extern char *get_dbegin ();
+ #include <unistd.h> /* to get sbrk defined */
+-extern void *my_sbrk(long incr);
+-#define sbrk my_sbrk
+ /** (si::save-system "...") a.k.a. unexec implementation  */
+@@ -101,36 +89,7 @@ do {
+   sigaction (SIGSEGV, &sact, 0);                        \
+ } while (0);
+-/* si_addr not containing the faulting address is a bug in Darwin.
+-   Work around this by looking at the dar field of the exception state.  */
+ #define GET_FAULT_ADDR(sig,code,sv,a) ((siginfo_t *)code)->si_addr
+-/* #define GET_FAULT_ADDR(sig,code,scp,addr) ((char *) (((ucontext_t *) scp)->uc_mcontext->es.dar)) */
+-
+-/*
+-#include <signal.h>
+-#include <unistd.h>
+-#include <stdio.h>
+-#include <sys/ucontext.h>
+-
+-void handler (int sig, siginfo_t *info, void *scp)
+-{
+-     ucontext_t *uc = (ucontext_t *)scp;
+-     fprintf(stderr, "addr = 0x%08lx\n", uc->uc_mcontext->es.dar);
+-     _exit(99);
+-}
+-
+-int main(void)
+-{
+-     struct sigaction sact;
+-     int ret;
+-
+-     sigfillset(&(sact.sa_mask));
+-     sact.sa_flags = SA_SIGINFO;
+-     sact.sa_sigaction = (void (*)())handler;
+-     ret = sigaction (SIGBUS, &sact, 0);
+-     return *(int *)0x43;
+-}
+-*/
+ /** Misc stuff  */
+@@ -199,3 +158,7 @@ if (realpath (buf, fub) == 0) {
+ #include <sys/param.h>/*PATH_MAX MAXPATHLEN*/
+ #undef MIN
+ #undef MAX
++
++#undef sbrk
++#define sbrk msbrk
++#define INITIALIZE_BRK msbrk_init();
+--- gcl27-2.7.1.orig/h/aarch64-linux.h
++++ gcl27-2.7.1/h/aarch64-linux.h
+@@ -5,3 +5,5 @@
+ #define NEED_STACK_CHK_GUARD
+ #define SGC
++
++#define OUTPUT_MACH bfd_mach_aarch64
+--- gcl27-2.7.1.orig/h/alpha-linux.h
++++ gcl27-2.7.1/h/alpha-linux.h
+@@ -10,3 +10,5 @@
+ /*FIXME probe broken in recent kernels, no access*/
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_alpha_ev6
+--- gcl27-2.7.1.orig/h/amd64-linux.h
++++ gcl27-2.7.1/h/amd64-linux.h
+@@ -14,3 +14,5 @@
+ #define MAX_CODE_ADDRESS (1L<<31)/*large memory model broken gcc 4.8*/
+ #define MAX_DEFAULT_MEMORY_MODEL_CODE_ADDRESS (1UL<<31)
+ #define LARGE_MEMORY_MODEL /*working -mcmodel=large giving unrestricted code load addresses*/
++
++#define OUTPUT_MACH bfd_mach_x86_64
+--- gcl27-2.7.1.orig/h/arm-linux.h
++++ gcl27-2.7.1/h/arm-linux.h
+@@ -6,3 +6,5 @@
+ #define SPECIAL_RELOC_H "elf32_arm_reloc_special.h"
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_arm_9
+--- gcl27-2.7.1.orig/h/armhf-linux.h
++++ gcl27-2.7.1/h/armhf-linux.h
+@@ -6,3 +6,5 @@
+ #define SPECIAL_RELOC_H "elf32_armhf_reloc_special.h"
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_arm_9
+--- gcl27-2.7.1.orig/h/cstack.h
++++ gcl27-2.7.1/h/cstack.h
+@@ -34,17 +34,22 @@
+ {
+   void *p,*p1,*b,*s;
+   int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
++  int ss=
++#ifdef CHECK_FOR_QEMU
++    qemu_p() ? FIXED_STACK :
++#endif
++    SS;
+   p=alloca(1);
+   p1=alloca(1);
+-  b=CTOP-(p1<p ? SS : FIXED_STACK);
++  b=CTOP-(p1<p ? ss : FIXED_STACK);
+   a=p1<p ? p-p1 : p1-p;
+   a<<=2;
+   s=p1<p ? CTOP-a : b+a;
+   if (p1<p) f|=MAP_GROWSDOWN;
+   if (p > CTOP || p < b) {
+-    if (mmap(b,SS,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++    if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+       stack_map_base=b;
+       asm volatile (SET_STACK_POINTER::"r" (s):"memory");
+       if (p1>p)
+--- gcl27-2.7.1.orig/h/gclincl.h.in
++++ gcl27-2.7.1/h/gclincl.h.in
+@@ -12,9 +12,6 @@
+ /* whether C stack grows up or down */
+ #undef CSTACK_DIRECTION
+-/* Define to 1 if using 'alloca.c'. */
+-#undef C_ALLOCA
+-
+ /* debug safecdr code */
+ #undef DEBUG_SAFE_CDR
+@@ -27,10 +24,7 @@
+ /* using gmp */
+ #undef GMP
+-/* Define to 1 if you have 'alloca', as a function or macro. */
+-#undef HAVE_ALLOCA
+-
+-/* Define to 1 if <alloca.h> works. */
++/* Define to 1 if you have the <alloca.h> header file. */
+ #undef HAVE_ALLOCA_H
+ /* have __builtin__clear_cache instruction */
+@@ -72,6 +66,9 @@
+ /* Define to 1 if you have the <float.h> header file. */
+ #undef HAVE_FLOAT_H
++/* Define to 1 if the system has the type 'fprintf_styled_ftype'. */
++#undef HAVE_FPRINTF_STYLED_FTYPE
++
+ /* Define to 1 if you have the 'getcwd' function. */
+ #undef HAVE_GETCWD
+@@ -261,9 +258,6 @@
+ /* bfd output arch */
+ #undef OUTPUT_ARCH
+-/* bfd output mach */
+-#undef OUTPUT_MACH
+-
+ /* Name of package */
+ #undef PACKAGE
+@@ -321,14 +315,6 @@
+ /* The size of 'short', as computed by sizeof. */
+ #undef SIZEOF_SHORT
+-/* If using the C implementation of alloca, define if you know the
+-   direction of stack growth for your system; otherwise it will be
+-   automatically deduced at runtime.
+-      STACK_DIRECTION > 0 => grows toward higher addresses
+-      STACK_DIRECTION < 0 => grows toward lower addresses
+-      STACK_DIRECTION = 0 => direction of growth unknown */
+-#undef STACK_DIRECTION
+-
+ /* staticly linked images */
+ #undef STATIC_LINKING
+@@ -461,6 +447,3 @@
+ /* short gmp3 limbs */
+ #undef __SHORT_LIMB
+-
+-/* Define as 'unsigned int' if <stddef.h> doesn't define. */
+-#undef size_t
+--- gcl27-2.7.1.orig/h/hppa-linux.h
++++ gcl27-2.7.1/h/hppa-linux.h
+@@ -17,3 +17,5 @@
+ #define RELOC_H "elf32_hppa_reloc.h"
+ #define SPECIAL_RELOC_H "elf32_hppa_reloc_special.h"
++
++#define OUTPUT_MACH bfd_mach_hppa11
+--- gcl27-2.7.1.orig/h/loongarch64-linux.h
++++ gcl27-2.7.1/h/loongarch64-linux.h
+@@ -10,3 +10,5 @@
+ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_loongarch64
+--- gcl27-2.7.1.orig/h/m68k-linux.h
++++ gcl27-2.7.1/h/m68k-linux.h
+@@ -56,3 +56,5 @@ int cacheflush(void *,int,int,int);
+ #define NEED_STACK_CHK_GUARD
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_m68060
+--- gcl27-2.7.1.orig/h/mipsel-linux.h
++++ gcl27-2.7.1/h/mipsel-linux.h
+@@ -1,3 +1,5 @@
+ #include "linux.h"
+ #define SGC
++
++#define OUTPUT_MACH bfd_mach_mipsisa64r6
+--- gcl27-2.7.1.orig/h/powerpc-linux.h
++++ gcl27-2.7.1/h/powerpc-linux.h
+@@ -11,6 +11,7 @@
+ #if SIZEOF_LONG == 4
+ #define RELOC_H "elf32_ppc_reloc.h"
++#define OUTPUT_MACH bfd_mach_ppc
+ #else
+ #ifdef WORDS_BIGENDIAN
+ #define RELOC_H "elf64_ppc_reloc.h"
+@@ -20,5 +21,6 @@
+ #define RELOC_H "elf64_ppcle_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_ppcle_reloc_special.h"
+ #endif
++#define OUTPUT_MACH bfd_mach_ppc64
+ #define C_GC_OFFSET 4
+ #endif
+--- gcl27-2.7.1.orig/h/riscv64-linux.h
++++ gcl27-2.7.1/h/riscv64-linux.h
+@@ -9,3 +9,5 @@
+ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_riscv64
+--- gcl27-2.7.1.orig/h/s390-linux.h
++++ gcl27-2.7.1/h/s390-linux.h
+@@ -6,6 +6,9 @@
+ #define C_GC_OFFSET 4
+ #define RELOC_H "elf64_s390_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
++#define OUTPUT_MACH #define bfd_mach_s390_64
+ #else
+ #define RELOC_H "elf32_s390_reloc.h"
++#define OUTPUT_MACH #define bfd_mach_s390_32
+ #endif
++
+--- gcl27-2.7.1.orig/h/sh4-linux.h
++++ gcl27-2.7.1/h/sh4-linux.h
+@@ -21,3 +21,5 @@
+ #define NEED_STACK_CHK_GUARD
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_sh4
+--- gcl27-2.7.1.orig/h/sparc-linux.h
++++ gcl27-2.7.1/h/sparc-linux.h
+@@ -18,3 +18,5 @@ void unwind() __attribute__((optimize("O
+ /* #if SIZEOF_LONG == 8 */
+ /* #define C_GC_OFFSET 4 */
+ /* #endif */
++
++#define OUTPUT_MACH bfd_mach_sparc_v9
+--- gcl27-2.7.1.orig/info/character.texi
++++ gcl27-2.7.1/info/character.texi
+@@ -40,14 +40,14 @@ This is faster than CHAR.
+ @end defun
+ @defvr {Constant} CHAR-SUPER-BIT 
+-Package:LISP
++Package:SI
+ The bit that indicates a super character.
+ @end defvr
+ @defvr {Constant} CHAR-FONT-LIMIT 
+-Package:LISP
++Package:SI
+ The upper exclusive bound on values produced by CHAR-FONT.
+@@ -63,7 +63,7 @@ If not, simply returns CHAR.
+ @end defun
+ @defun STRING-CHAR-P (char)
+-Package:LISP
++Package:SI
+ Returns T if CHAR can be stored in a string.  In GCL, this function always
+ returns T since any character in GCL can be stored in a string.
+@@ -113,7 +113,7 @@ otherwise.
+ @end defun
+ @defvr {Constant} CHAR-HYPER-BIT 
+-Package:LISP
++Package:SI
+ The bit that indicates a hyper character.
+@@ -137,7 +137,7 @@ Returns the code attribute of CHAR.
+ @end defun
+ @defvr {Constant} CHAR-CONTROL-BIT 
+-Package:LISP
++Package:SI
+ The bit that indicates a control character.
+@@ -154,7 +154,7 @@ is used.
+ @end defun
+ @defun CHAR-FONT (char)
+-Package:LISP
++Package:SI
+ Returns the font attribute of CHAR.
+@@ -179,7 +179,7 @@ otherwise.
+ @end defun
+ @defvr {Constant} CHAR-META-BIT 
+-Package:LISP
++Package:SI
+ The bit that indicates a meta character.
+@@ -204,7 +204,7 @@ Upper case character and its lower case
+ @end defun
+ @defvr {Constant} CHAR-BITS-LIMIT 
+-Package:LISP
++Package:SI
+ The upper exclusive bound on values produced by CHAR-BITS.
+@@ -243,7 +243,7 @@ Returns T if CHAR is an upper-case chara
+ @end defun
+ @defun CHAR-BIT (char name)
+-Package:LISP
++Package:SI
+ Returns T if the named bit is on in the character CHAR; NIL otherwise.
+ In GCL, this function always returns NIL.
+@@ -252,7 +252,7 @@ In GCL, this function always returns NIL
+ @end defun
+ @defun MAKE-CHAR (char &optional (bits 0) (font 0))
+-Package:LISP
++Package:SI
+ Returns a character object with the same code attribute as CHAR and with
+ the specified BITS and FONT attributes.
+@@ -350,7 +350,7 @@ Returns T if CHAR is either numeric or a
+ @end defun
+ @defun CHAR-BITS (char)
+-Package:LISP
++Package:SI
+ Returns the bits attribute (which is always 0 in GCL) of CHAR.
+@@ -367,7 +367,7 @@ Returns NIL if no such character exists.
+ @end defun
+ @defun SET-CHAR-BIT (char name newvalue)
+-Package:LISP
++Package:SI
+ Returns a character just like CHAR except that the named bit is set or
+ cleared, according to whether NEWVALUE is non-NIL or NIL.  This function
+--- gcl27-2.7.1.orig/info/compile.texi
++++ gcl27-2.7.1/info/compile.texi
+@@ -20,7 +20,7 @@ NIL, these files are automatically delet
+ @end defun
+ @defun LINK (files image &optional post extra-libs (run-user-init t) &aux raw init) 
+-Package:LISP
++Package:COMPILER
+ On systems where dlopen is used for relocations, one cannot make custom
+ images containing loaded binary object files simply by loading the files
+@@ -242,24 +242,6 @@ their lisp names.  Please see also the P
+ @end defun
+-
+-@defun GPROF-SET (begin end)
+-Package:SYSTEM
+-
+-GCL now has preliminary support for profiling with gprof, an
+-externally supplied profiling tool at the C level which typically
+-accompanies gcc.  Support must be enabled at compile time with
+---enable-gprof.  This function sets the address range used by
+-GPROF-START in specifying the section of the running program which is
+-to be profiled.  All subsequent calls to GPROF-START will use this new
+-address range.  By default, the range is set to begin at the starting
+-address of the .text section, and to end at the current end of the
+-running core.  These default values can be restored by calling
+-GPROF-SET with both argments set to 0.
+-
+-@end defun
+-
+-
+ @defvar *DEFAULT-SYSTEM-P*
+ Package:COMPILER
+ Specifies the default setting of :SYSTEM-P used by COMPILE.  Defaults to NIL.
+--- gcl27-2.7.1.orig/info/compiler-defs.texi
++++ gcl27-2.7.1/info/compiler-defs.texi
+@@ -102,7 +102,7 @@ or
+ @end example
+ @end defun
+-@defun COMPILER-DEFAULT-TYPE  (pathname)
++@defun *COMPILER-DEFAULT-TYPE*  (pathname)
+ Package:COMPILER
+ Allows you to set the default file extension for compiler source files.
+@@ -150,13 +150,6 @@ NIL
+ @end defun
+-@defun  COMPILER-RESET-TYPE ()
+-Package:COMPILER
+-
+-Resets the default compiler input file extension to the GCL historical
+-value of #''.lsp''.
+-
+-@end defun
+ @defvar *CC* 
+ Package:COMPILER
+ Has value a string which controls which C compiler is used by GCL.
+--- gcl27-2.7.1.orig/info/form.texi
++++ gcl27-2.7.1/info/form.texi
+@@ -9,7 +9,7 @@ List of all the lambda-list keywords use
+ @end defvr
+ @defun GET-SETF-METHOD (form)
+-Package:LISP
++Package:SI
+ Returns the five values (or five 'gangs') constituting the SETF method for
+ FORM.  See the doc of DEFINE-SETF-METHOD for the meanings of the gangs.  It
+@@ -345,7 +345,7 @@ Also, see the function doc of PPRINT for
+ @end deffn
+ @defvar *EVALHOOK* 
+-Package:LISP
++Package:SI
+ If *EVALHOOK* is not NIL, its value must be a function that can receive
+ two arguments: a form to evaluate and an environment.  This function does
+ the evaluation instead of EVAL.
+@@ -521,7 +521,7 @@ a function.  Actually, however, there is
+ @end defvr
+ @defun APPLYHOOK (function args evalhookfn applyhookfn &optional (env nil))
+-Package:LISP
++Package:SI
+ Applies FUNCTION to ARGS, with *EVALHOOK* bound to EVALHOOKFN and with
+ *APPLYHOOK* bound to APPLYHOOKFN.  Ignores the hook function once, for the
+@@ -682,7 +682,7 @@ TEST.  Returns NIL, if all TESTs evaluat
+ @end deffn
+ @defun GET-SETF-METHOD-MULTIPLE-VALUE  (form)
+-Package:LISP
++Package:SI
+  Returns the five values (or five 'gangs')
+ constituting the SETF method for FORM.  See the doc of
+ DEFINE-SETF-METHOD for the meanings of the gangs.  The third value
+@@ -769,7 +769,7 @@ returns the value(s) of the last FORM.
+ @end deffn
+ @deffn {Macro} DEFINE-SETF-METHOD 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -799,7 +799,7 @@ by (documentation 'NAME 'setf).
+ @end deffn
+ @deffn {Special Form} COMPILER-LET 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -891,7 +891,7 @@ Creates a NIL block, binds VARs in paral
+ @end deffn
+ @defvar *APPLYHOOK* 
+-Package:LISP
++Package:SI
+ Used to substitute another function for the implicit APPLY normally done
+ within EVAL.  If *APPLYHOOK* is not NIL, its value must be a function 
+ which takes three arguments: a function to be applied, a list of arguments,
+@@ -1032,7 +1032,7 @@ form.
+ @end deffn
+ @defun EVALHOOK (form evalhookfn applyhookfn &optional (env nil))
+-Package:LISP
++Package:SI
+ Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound
+ to APPLYHOOKFN.  Ignores these hooks once, for the top-level evaluation
+--- gcl27-2.7.1.orig/info/internal.texi
++++ gcl27-2.7.1/info/internal.texi
+@@ -2,7 +2,7 @@
+ @chapter GCL Specific
+ @defun SYSTEM (string)
+-Package:LISP
++Package:SI
+ GCL specific: Executes a Shell command as if STRING is an input to the
+ Shell.  Not all versions of GCL support this function.  At least on
+@@ -49,16 +49,8 @@ on which GCL is currently running.
+ @end defun
+-@defun BY ()
+-Package:LISP
+-
+-GCL specific: Exits from GCL.
+-
+-
+-@end defun
+-
+ @deffn {Macro} DEFCFUN 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -126,7 +118,7 @@ C-type:
+ @end deffn
+ @deffn {Macro} CLINES 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -148,7 +140,7 @@ specified in the environment.
+ @end defun
+ @defun ALLOCATE (type number &optional (really-allocate nil))
+-Package:LISP
++Package:SI
+ GCL specific: Sets the maximum number of pages for the type class of the
+ GCL implementation type TYPE to NUMBER.  If REALLY-ALLOCATE is given a
+@@ -159,7 +151,7 @@ immediately.
+ @end defun
+ @defun GBC (x)
+-Package:LISP
++Package:SI
+ GCL specific: Invokes the garbage collector (GC) with the collection level
+ specified by X.  NIL as the argument causes GC to collect cells only.  T as
+@@ -169,7 +161,7 @@ the argument causes GC to collect everyt
+ @end defun
+ @defun SAVE (pathname)
+-Package:LISP
++Package:SI
+ GCL specific: Saves the current GCL core image into a program file specified
+ by PATHNAME.  This function depends on the version of GCL.  The function
+@@ -180,7 +172,7 @@ currently loaded .o files.
+ @end defun
+ @defun HELP* (string &optional (package 'lisp))
+-Package:LISP
++Package:USER
+ GCL specific: Prints the documentation associated with those symbols in the
+ specified package whose print names contain STRING as substring.  STRING may
+@@ -191,7 +183,7 @@ is NIL, then all packages are searched.
+ @end defun
+ @deffn {Macro} DEFLA 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -214,7 +206,7 @@ NIL otherwise.  See the doc of DECLARE f
+ @end defun
+ @deffn {Macro} DEFENTRY 
+-Package:LISP
++Package:SI
+ Syntax:
+ @example
+@@ -282,7 +274,7 @@ implementation dependent results.
+ @end defun
+ @defun BYE ( &optional (exit-status 0))
+-Package:LISP
++Package:SI
+ GCL specific: Exits from GCL with exit-status.
+@@ -290,7 +282,7 @@ GCL specific: Exits from GCL with exit-s
+ @end defun
+ @defun USE-FAST-LINKS (turn-on)
+-Package:LISP
++Package:SI
+ GCL specific: If TURN-ON is not nil, the fast link mechanism is enabled,
+ so that ordinary function calls will not appear in the invocation stack,
+--- gcl27-2.7.1.orig/info/number.texi
++++ gcl27-2.7.1/info/number.texi
+@@ -86,7 +86,7 @@ BIT-ARRAY1 if RESULT-BIT-ARRAY is T, or
+ @end defun
+ @defun INT-CHAR (integer)
+-Package:LISP
++Package:SI
+ Performs the inverse of CHAR-INT.  Equivalent to CODE-CHAR in GCL.
+--- gcl27-2.7.1.orig/info/si-defs.texi
++++ gcl27-2.7.1/info/si-defs.texi
+@@ -41,14 +41,6 @@ calling this the defstruct should not be
+ @end defun
+-@defun MAXIMUM-ALLOCATABLE-PAGES (type)
+-Package:SI
+-
+-GCL specific: Returns the current maximum number of pages for the type class
+-of the GCL implementation type TYPE.
+-
+-
+-@end defun
+ @defun ALLOCATED-RELOCATABLE-PAGES ()
+ Package:SI
+@@ -64,14 +56,6 @@ Give SYMBOL the VALUE on INDICATOR prope
+ @end defun
+-@defun ALLOCATED-PAGES (type)
+-Package:SI
+-
+-GCL specific: Returns the number of pages currently allocated for the type
+-class of the GCL implementation type TYPE.
+-
+-
+-@end defun
+ @defun ALLOCATE-RELOCATABLE-PAGES (number)
+ Package:SI
+@@ -420,18 +404,6 @@ type.
+ @end defun
+-@defun CATCH-BAD-SIGNALS ()
+-Package:SI
+-
+-GCL/BSD specific: Installs a signal catcher for bad signals:
+-      SIGILL, SIGIOT, SIGEMT, SIGBUS, SIGSEGV, SIGSYS.
+-The signal catcher, upon catching the signal, signals an error (and enter
+-the break-level).  Since the internal memory of GCL may be broken, the user
+-should check the signal and exit from GCL if necessary.  When the signal
+-is caught during garbage collection, GCL terminates immediately.
+-
+-
+-@end defun
+ @defun RESET-STACK-LIMITS ()
+ Package:SI
+@@ -450,7 +422,7 @@ should be set NIL.
+ @end defvar
+-@defvar *GBC-NOTIFY* 
++@defvar *NOTIFY-GBC*
+ Package:SI
+ GCL specific: If the value is non-NIL, the garbage
+ collector prints a very brief one line message about the area causing the collection,
+@@ -465,7 +437,7 @@ a lisp variable indicating the TYPE whic
+ @end defvar
+-@deffn {Funcition} ALLOCATED (type)
++@deffn {Function} ALLOCATED (type)
+ Package:SI
+ Returns 6 values:
+@@ -572,13 +544,6 @@ resetting io streams.   It would not be
+ @end defun
+-@defun UNCATCH-BAD-SIGNALS ()
+-Package:SI
+-
+-GCL/BSD specific: Undoes the effect of SI:CATCH-BAD-SIGNALS.
+-
+-
+-@end defun
+ @defun VS (i)
+ Package:SI
+@@ -601,13 +566,6 @@ the GCL process.
+ @end defun
+-@defvar *DEFAULT-TIME-ZONE* 
+-Package:SI
+-GCL specific: Holds the default time zone.  The initial value of SI:*DEFAULT-
+-TIME-ZONE* is 6 (the time zone of Austin, Texas).
+-
+-
+-@end defvar
+ @defun GETENV (string)
+ Package:SI
+@@ -660,47 +618,36 @@ stack.
+ @end defun
+-@defun WRITE-DEBUG-SYMBOLS (start file &key (main-file "/usr/local/schelter/xgcl/unixport/raw_gcl") (output-file "debug-symbols.o" ))
+-Package:SI
+-
+-Write out a file of debug-symbols using address START as the place
+-where FILE will be loaded into the running executable MAIN-FILE.  The
+-last is a keyword argument.
+-
++@c @defun PROF (x y)
++@c Package:SI
++@c These functions in the SI package are GCL specific, and allow monitoring
++@c the run time of functions loaded into GCL, as well as the basic functions.
++@c  Sample Usage:
++@c     (si::set-up-profile 1000000) (si::prof 0 90)
++@c      run program
++@c     (si::prof 0 0)   ;; turn off profile
++@c     (si::display-prof)
++@c     (si::clear-profile)
++@c     (si::prof 0 90)  ;; start profile again
++@c     run program
++@c    ..
++@c   Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
++@c The START-ADDRESS will correspond to the beginning of the profile array, and
++@c the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
++@c profile array.
++
++@c Thus if the profile array is 1,000,000  bytes long and the code segment is 
++@c 5 megabytes long you can profile the whole thing using a scale of 50
++@c Note that long runs may result in overflow, and so an understating of the
++@c time in a function.
++
++@c You must run intensively however since, with a scale of 128 it takes
++@c 6,000,000 times through a loop to overflow the sampling in one part of
++@c the code.
+-@end defun
+-@defun PROF (x y)
+-Package:SI
+-
+-These functions in the SI package are GCL specific, and allow monitoring
+-the run time of functions loaded into GCL, as well as the basic functions.
+- Sample Usage:
+-    (si::set-up-profile 1000000) (si::prof 0 90)
+-     run program
+-    (si::prof 0 0)   ;; turn off profile
+-    (si::display-prof)
+-    (si::clear-profile)
+-    (si::prof 0 90)  ;; start profile again
+-    run program
+-   ..
+-  Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
+-The START-ADDRESS will correspond to the beginning of the profile array, and
+-the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
+-profile array.
+-
+-Thus if the profile array is 1,000,000  bytes long and the code segment is 
+-5 megabytes long you can profile the whole thing using a scale of 50
+-Note that long runs may result in overflow, and so an understating of the
+-time in a function.
+-
+-You must run intensively however since, with a scale of 128 it takes
+-6,000,000 times through a loop to overflow the sampling in one part of
+-the code.
+-
+-
+-@end defun
++@c @end defun
+ @defun CATCH-FATAL (i)
+ Package:SI
+--- gcl27-2.7.1.orig/info/structure.texi
++++ gcl27-2.7.1/info/structure.texi
+@@ -34,7 +34,7 @@ a lisp structure correspond to a C struc
+ @end deffn
+ @defun HELP (&optional symbol)
+-Package:LISP
++Package:USER
+ GCL specific: Prints the documentation associated with SYMBOL.  With no
+ argument, this function prints the greeting message to GCL beginners.
+--- gcl27-2.7.1.orig/info/type.texi
++++ gcl27-2.7.1/info/type.texi
+@@ -34,7 +34,7 @@ Returns T if X is of the type TYPE; NIL
+ @end defun
+ @defun COMMONP (x)
+-Package:LISP
++Package:SI
+ Returns T if X is a Common Lisp object; NIL otherwise.
+--- gcl27-2.7.1.orig/info/user-interface.texi
++++ gcl27-2.7.1/info/user-interface.texi
+@@ -61,7 +61,7 @@ Evaluates FORM in the single-step mode a
+ @end deffn
+ @defvar *BREAK-ENABLE* 
+-Package:LISP
++Package:SI
+ GCL specific:  When an error occurrs, control enters to the break loop only
+ if the value of this variable is non-NIL.
+@@ -99,7 +99,7 @@ Holds the I/O stream used by the GCL deb
+ @end defvar
+ @defvar *BREAK-ON-WARNINGS* 
+-Package:LISP
++Package:SI
+ When the function WARN is called, control enters to the break loop only
+ if the value of this varialbe is non-NIL.
+--- gcl27-2.7.1.orig/lsp/gcl_listlib.lsp
++++ gcl27-2.7.1/lsp/gcl_listlib.lsp
+@@ -371,7 +371,8 @@
+ (defseq union (nil (l1 l2) :list t)
+   (let (rp)
+-    (prog1 (or (mapcan (lambda (x)
++    (prog1 (or (unless l2 l1)
++             (mapcan (lambda (x)
+                        (unless (member (key x) l2 :test #'test)
+                          (setq rp (cons x nil))))
+                      l1)
+@@ -380,21 +381,26 @@
+ (defseq set-difference (nil (l1 l2) :list t)
+-  (mapcan (lambda (x)
++  (if l2
++      (mapcan (lambda (x)
+           (unless (member (key x) l2 :test #'test)
+             (cons x nil)))
+-        l1))
++            l1)
++      l1))
+ (defseq set-exclusive-or (nil (l1 l2) :list t)
+-  (let (rp (rr (copy-list l2)))
+-    (prog1 (or (mapcan (lambda (x &aux (k (key x)))
++  (let (rp tmp n2)
++    (declare (dynamic-extent tmp))
++    (or (unless l2 l1)
++      (prog1 (mapcan (lambda (x &aux (k (key x)))
+                        (if (member k l2 :test #'test)
+-                           (unless (setq rr (delete k rr :test #'test)))
++                           (unless (push k tmp))
+                            (setq rp (cons x nil))))
+                      l1)
+-             rr)
+-      (when rp (rplacd rp rr)))))
++        (setq n2 (set-difference l2 tmp :test (lambda (x y) (funcall #'test y x))))
++        (when rp (rplacd rp n2)))
++      n2)))
+ (defseq nintersection (nil (l1 l2) :list t)
+   (let (r rp)
+--- gcl27-2.7.1.orig/lsp/gcl_lr.lsp
++++ gcl27-2.7.1/lsp/gcl_lr.lsp
+@@ -106,7 +106,8 @@
+ (defbltin clzl)
+ (defbltin ctzl)
+-(defbltin popcountl)
++#-darwin(defbltin popcountl) ;Macports builtin calls external function outside symbol table
++#+darwin(defmacro popcountl (x) `(popcount ,x))
+ (defbltin parityl)
+ (defbltin ffsl)
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -112,10 +112,12 @@
+ (defun canonicalize-pathname-directory (l)
+   (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
+       ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
+-      ((mapl (lambda (x &aux (c (car x)))
+-               (when (and (or (stringp c) (eq c :wild)) (eq (cadr x) :back))
++      ((mapl (lambda (x &aux (c (car x))
++                          (skip (cond ((equal c ".") (cdr x))
++                                      ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
++               (when skip
+                  (return-from canonicalize-pathname-directory
+-                   (canonicalize-pathname-directory (nconc (ldiff-nf l x) (cddr x))))))
++                   (canonicalize-pathname-directory (nconc (ldiff-nf l x) skip)))))
+              l))))
+ (defvar *default-pathname-defaults* (init-pathname nil nil nil nil nil nil ""))
+--- gcl27-2.7.1.orig/o/file.d
++++ gcl27-2.7.1/o/file.d
+@@ -1439,7 +1439,8 @@ BEGIN:
+ #ifdef USE_READLINE
+         if (readline_on && strm->sm.sm_fp==rl_instream)
+-          if (rl_line_buffer) return *rl_line_buffer ? TRUE : FALSE;
++          /*FIXME homogenize this*/
++          if (rl_line_buffer) return *rl_line_buffer && *rl_line_buffer!=EOF ? TRUE : FALSE;
+ #endif
+               if (strm->sm.sm_fp == NULL)
+                       closed_stream(strm);
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -186,7 +186,8 @@ next_line(int l,ufixnum *s) {
+   ssize_t i;
+   char *p;
+-  if (*s && (n=strlen(FN1))) {
++  if (*s) {
++    n=strlen(FN1);
+     memmove(FN1,FN1+n+1,sizeof(FN1)-(n+1));
+     *s-=n+1;
+   }
+@@ -406,6 +407,31 @@ setup_maxpages(double scale) {
+ }
++int
++qemu_p(void)  {
++
++#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++
++  char *c;
++  ufixnum e,r=0;
++  int l;
++
++  massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
++
++  for (e=0;!e && (c=next_line(l,&r));)
++    e=!memcmp("model",c,5) && strstr(c,"QEMU");
++
++  massert(!close(l));
++
++  return e;
++
++#else
++
++  return 0;
++
++#endif
++}
++
+ static void *
+ next_shared_lib_map_no_malloc(void)  {
+@@ -727,6 +753,7 @@ main(int argc, char **argv, char **envp)
+   bds_top = bds_org-1;
+   frs_top = frs_org-1;
++#define CHECK_FOR_QEMU
+ #include "cstack.h"
+   gcl_init_alloc(alloca(1));
+@@ -1432,6 +1459,7 @@ my_fprintf(void *v,const char *f,...) {
+   return r;
+ }
++#ifdef HAVE_FPRINTF_STYLED_FTYPE
+ static int
+ my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
+   va_list va;
+@@ -1441,6 +1469,7 @@ my_fprintf_styled(void *v,enum disassemb
+   va_end(va);
+   return r;
+ }
++#endif
+ static int
+ my_read(bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, struct disassemble_info *dinfo) {
+@@ -1468,14 +1497,18 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
+   if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
+     if ((s=dlsym(v,"init_disassemble_info"))) {
+-      s(&i, stdout,(fprintf_ftype) my_fprintf,my_fprintf_styled);
++      s(&i, stdout,(fprintf_ftype)my_fprintf
++#ifdef HAVE_FPRINTF_STYLED_FTYPE
++      ,my_fprintf_styled
++#endif
++      );
+       i.read_memory_func=my_read;
+       i.print_address_func=my_pa;
+ #if defined(OUTPUT_MACH)
+       i.mach=OUTPUT_MACH;
+ #endif
+       if ((s=dlsym(v,"disassembler"))) {
+-      disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,false,0,NULL);/*bfd_mach_x86_64*/
++      disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
+       bp=b;
+       disasm(addr,&i);
+       my_fprintf(NULL," ;");
+--- gcl27-2.7.1.orig/o/msbrk.c
++++ gcl27-2.7.1/o/msbrk.c
+@@ -17,13 +17,21 @@ msbrk_end(void) {
+ }
+-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+ static void *
+ new_map(void *v,ufixnum s) {
+   return mmap(v,s,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_ANON|MAP_FIXED,-1,0);
+ }
++#if defined(DARWIN)
++/*This initial heap must be large enough to initialize the raw image,
++  but not so large that the Mac linker ignores the segment designation
++  and creates a __huge section under __DATA for this and other
++  variables.  We enlarge this on unexec.*/
++asm (".zerofill __HEAP,__heap,__end,0x70000000\n\t.globl __end");
++#endif
++
+ int
+ msbrk_init(void) {
+--- gcl27-2.7.1.orig/o/num_sfun.c
++++ gcl27-2.7.1/o/num_sfun.c
+@@ -802,7 +802,6 @@ DEFUN("ISINF",object,fSisinf,SI,1,1,NONE
+ }
+-
+ void
+ gcl_init_num_sfun(void)
+ {
+--- gcl27-2.7.1.orig/o/sfaslmacho.c
++++ gcl27-2.7.1/o/sfaslmacho.c
+@@ -208,7 +208,7 @@ load_memory(struct section *sec1,struct
+       if (LOAD_SEC(sec))
+       memcpy((void *)sec->addr,v1+sec->offset,sec->size);
+       else
+-      bzero((void *)sec->sh_addr,sec->sh_size);
++      bzero((void *)sec->addr,sec->size);
+     }
+   if (**got) {
+--- gcl27-2.7.1.orig/o/unexmacosx.c
++++ gcl27-2.7.1/o/unexmacosx.c
+@@ -211,9 +211,6 @@ vm_range_t marked_regions [MAX_MARKED_RE
+ unsigned num_marked_regions;
+-/* Size of the heap.  */
+-static unsigned long big_heap;
+-
+ /* Start of the heap.  */
+ char *mach_mapstart = 0;
+@@ -543,42 +540,6 @@ copy_data_segment (struct load_command *
+     unexec_error ("cannot write header of __DATA segment");
+   curr_header_offset += lc->cmdsize;
+-  /* Create new __DATA segment load commands for regions on the region
+-     list that do not corresponding to any segment load commands in
+-     the input file.
+-  */
+-  /* for (j = 0; j < num_unexec_regions; j++) */
+-    {
+-      struct segment_command sc;
+-
+-      sc.cmd = LC_SEGMENT;
+-      sc.cmdsize = sizeof (struct segment_command);
+-      /* strncpy (sc.segname, SEG_DATA, 16); */
+-      strncpy (sc.segname, "__HEAP", 16);
+-      sc.vmaddr = (long)mach_mapstart;
+-      sc.vmsize = mach_maplimit-mach_mapstart;
+-      sc.fileoff = curr_file_offset;
+-      sc.filesize = core_end-mach_mapstart;
+-      sc.maxprot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
+-      sc.initprot = VM_PROT_READ | VM_PROT_WRITE /* | VM_PROT_EXECUTE */;
+-      sc.nsects = 0;
+-      sc.flags = 0;
+-
+-#if VERBOSE
+-      printf ("Writing segment %-16.16s @ %#8lx (%#8lx/%#8lx @ %#10lx)\n",
+-            sc.segname, (long) (sc.fileoff), (long) (sc.filesize),
+-            (long) (sc.vmsize), (long) (sc.vmaddr));
+-#endif
+-
+-      if (!unexec_write (sc.fileoff, (void *) sc.vmaddr, sc.filesize))
+-      unexec_error ("cannot write new __DATA segment");
+-      curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (sc.filesize);
+-
+-      if (!unexec_write (curr_header_offset, &sc, sc.cmdsize))
+-      unexec_error ("cannot write new __DATA segment's header");
+-      curr_header_offset += sc.cmdsize;
+-      mh.ncmds++;
+-    }
+ }
+ /* Copy a LC_SYMTAB load command from the input file to the output
+@@ -853,7 +814,7 @@ static void
+ dump_it () {
+   int i;
+-  long linkedit_delta = 0;
++  long linkedit_delta=0,linkedit_vmdelta=0;
+   
+ #if VERBOSE
+   printf ("--- Load Commands written to Output File ---\n");
+@@ -878,17 +839,46 @@ dump_it () {
+         
+         copy_data_segment (lca[i]);
+-      } else {
++      } else if (strncmp (scp->segname, "__HEAP", 16) == 0) {
+-        if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
+-          if (linkedit_delta)
+-            unexec_error ("cannot handle multiple LINKEDIT segments in input file");
+-          linkedit_delta = curr_file_offset - scp->fileoff;
+-        }
++        extern char *data_start;
++        struct section *sectp = (struct section *) (scp + 1);
++        unsigned long header_offset=curr_header_offset + sizeof (struct segment_command);
+         
+-        if (strncmp (scp->segname, "__HEAP", 16) != 0) copy_segment (lca[i]); else mh.ncmds--;
++        scp->vmaddr=(long)data_start;
++        linkedit_vmdelta=(1UL<<37)-scp->vmsize;
++        scp->vmsize=(1UL<<37);
++        scp->fileoff=curr_file_offset;
++        scp->filesize=core_end-data_start;
++        scp->maxprot=VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
++        scp->initprot=VM_PROT_READ | VM_PROT_WRITE;
++        scp->nsects=1;
++        scp->flags=S_REGULAR;
+         
+-      }
++        sectp->addr=scp->vmaddr;
++        sectp->size=scp->filesize;
++        sectp->flags=S_REGULAR;
++
++        if (!unexec_write (header_offset, sectp, sizeof (struct section)))
++          unexec_error ("cannot write section _HEAP's header");
++
++        if (!unexec_write (scp->fileoff, (void *) scp->vmaddr, scp->filesize))
++          unexec_error ("cannot write __HEAP segment");
++        curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (scp->filesize);
++
++        if (!unexec_write (curr_header_offset, scp, sizeof (struct segment_command)))
++          unexec_error ("cannot write header of __HEAP segment");
++        curr_header_offset += scp->cmdsize;
++
++      } else if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
++
++        if (linkedit_delta)
++          unexec_error ("cannot handle multiple LINKEDIT segments in input file");
++        linkedit_delta = curr_file_offset - scp->fileoff;
++        scp->vmaddr+=linkedit_vmdelta;
++        copy_segment (lca[i]);
++      } else
++        copy_segment (lca[i]);
+       }
+       break;
+     case LC_SYMTAB:
+@@ -1035,52 +1025,6 @@ unexec (char *outfile, char *infile, voi
+ }
+-/* Replacement for broken sbrk(2).  */
+-
+-#include <sys/mman.h>
+-#include <errno.h>
+-unsigned long
+-probe_big_heap(unsigned long try,unsigned long inc,unsigned long max) {
+-
+-  void *r;
+-
+-  if ((r=mmap(NULL, try, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0))==(void *)-1)
+-    return try>inc ? probe_big_heap(try-inc,inc>>1,max) : 0;
+-  munmap(r,try);
+-  return (!inc || try >=max) ? try : probe_big_heap(try+inc,inc,max);
+-
+-}
+-
+-void *my_sbrk (long incr)
+-{
+-  char               *temp, *ptr;
+-
+-  if (mach_brkpt == 0) {
+-
+-    big_heap=(1UL)<<35;
+-    if (!(big_heap=probe_big_heap(PAGESIZE,big_heap>>1,big_heap))) {
+-      unexec_error("my_sbrk(): probe_big_heap() failed\n");
+-      return ((char *)-1);
+-    }
+-
+-    mach_brkpt=mmap(NULL, big_heap, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+-        
+-    mach_mapstart = mach_brkpt;
+-    mach_maplimit = mach_brkpt + big_heap;
+-
+-  }
+-  if (incr == 0) {
+-    return (mach_brkpt);
+-  } else {
+-    ptr = mach_brkpt + incr;
+-    if (ptr<mach_mapstart || ptr > mach_maplimit)
+-      return (char *)-1;
+-    temp = mach_brkpt;
+-    mach_brkpt = ptr;
+-    return (temp);
+-  }
+-}
+-
+ static size_t stub_size (malloc_zone_t *zone, const void *ptr)
+ {
+     extern object malloc_list;
+--- gcl27-2.7.1.orig/pcl/gcl_pcl_defs.lisp
++++ gcl27-2.7.1/pcl/gcl_pcl_defs.lisp
+@@ -411,6 +411,7 @@
+ ;    (print `(deftype ,name nil `(si::std-instance ,(si::coerce-to-standard-class ',name))))
+ ;    (print (si::coerce-to-standard-class name))
+     (eval `(deftype ,name nil t))
++    (unintern (get name 'si::simple-typep-fn))
+     (remprop name 'si::simple-typep-fn)))
+   ;; #+cmu17 (declare (ignore name predicate))
+--- gcl27-2.7.1.orig/xbin/ar_merge
++++ gcl27-2.7.1/xbin/ar_merge
+@@ -4,13 +4,14 @@ FLAGS=$1
+ shift
+ ARCHIVE=$1
+ shift
++XPWD=$(pwd)
+ TMPDIR=$(mktemp -d)
+ while [ $# -gt 0 ] ; do
+     case $(basename $1) in
+       *.o) cp $1 $TMPDIR;;
+       *.go) cp $1 $TMPDIR/$(echo $(basename $1)|sed 's,\.go,.o,g');;
+-      *.a) ar x $1 --output $TMPDIR;;
++      *.a) cd $TMPDIR && ar x $XPWD/$1 && cd $XPWD;;
+       recompile);;
+       *) echo Bad arg $1 ; exit 1 ;;
+     esac
diff --git a/patches/Version_2_7_2pre5 b/patches/Version_2_7_2pre5
new file mode 100644 (file)
index 0000000..c0e1619
--- /dev/null
@@ -0,0 +1,157 @@
+Description: Update to git tag Version_2_7_2pre5
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore3"
++"Version_2_7_2ore5"
+--- gcl27-2.7.1.orig/h/cstack.h
++++ gcl27-2.7.1/h/cstack.h
+@@ -16,40 +16,31 @@
+ #define SET_STACK_POINTER "mov %0,r15\n\t"
+ #endif
+-#define FIXED_STACK (1UL<<23)/*FIXME configure?*/
+-#if defined(__SH4__)/*FIXME is this just due to qemu?*/
+-#define CTOP (void *)0x80000000
+-#define SS FIXED_STACK
++#define CTOP (void *)0xc0000000/*FIXME configure?*/
++#define MIN_STACK (1UL<<23)/*QEMU will not grow the stack*/
++
++#if defined(__SH4__)
++#undef CTOP
++#define CTOP (void *)0x80000000/*FIXME is this just due to qemu?*/
+ #elif defined(__gnu_hurd__)
+-#define CTOP (void *)0xc0000000
+-#define SS FIXED_STACK
+ #define MAP_GROWSDOWN 0
+ #define MAP_STACK 0
+-#else
+-#define CTOP (void *)0xc0000000/*FIXME configure?*/
+-#define SS getpagesize()
+ #endif
+ #ifdef SET_STACK_POINTER
+ {
+-  void *p,*p1,*b,*s;
++  void *p,*p1,*b=CTOP-MIN_STACK,*s;
+   int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
+-  int ss=
+-#ifdef CHECK_FOR_QEMU
+-    qemu_p() ? FIXED_STACK :
+-#endif
+-    SS;
+   p=alloca(1);
+   p1=alloca(1);
+-  b=CTOP-(p1<p ? ss : FIXED_STACK);
+   a=p1<p ? p-p1 : p1-p;
+-  a<<=2;
++  a<<=3;
+   s=p1<p ? CTOP-a : b+a;
+   if (p1<p) f|=MAP_GROWSDOWN;
+   if (p > CTOP || p < b) {
+-    if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++    if (mmap(b,MIN_STACK,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+       stack_map_base=b;
+       asm volatile (SET_STACK_POINTER::"r" (s):"memory");
+       if (p1>p)
+--- gcl27-2.7.1.orig/h/elf64_alpha_reloc_special.h
++++ gcl27-2.7.1/h/elf64_alpha_reloc_special.h
+@@ -94,7 +94,7 @@ find_special_params(void *v,Shdr *sec1,S
+ static int
+ label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char *st1,const char *sn,ul *gs) {
+-  Sym *sym,*fsym=sym1;
++  Sym *sym;
+   Rela *r;
+   Shdr *sec;
+   void *v,*ve;
+@@ -142,12 +142,9 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
+       case R_ALPHA_GPDISP:
+-        for (sym=fsym;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)!=r->r_offset);sym++);/*ordered search*/
+-
+-        if (sym<syme) {
+-          fsym=sym;
+-          SET_HIGH(fsym->st_value,gotp=*gs+1);
+-        }
++        for (sym=sym1;sym<syme && (sym->st_shndx!=1 || !LOW(sym->st_size) || LOW(sym->st_value)!=r->r_offset);sym++);
++        if (sym<syme)
++          SET_HIGH(sym->st_value,gotp=*gs+1);
+         SET_HIGH(r->r_addend,gotp);
+@@ -157,9 +154,8 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
+         q=LOW(sym1[ELF_R_SYM(r->r_info)].st_value)+r->r_addend;
+-        /*unordered search*/
+-        for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<q);sym++);
+-        massert(sym<syme);
++        for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<=q);sym++);
++        massert(sym<syme && HIGH(sym->st_value));
+         SET_HIGH(r->r_addend,HIGH(sym->st_value));
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -75,8 +75,7 @@
+   (let ((r (with-open-file (s (apply 'string-concatenate "|" #-winnt "command -v "
+                                    #+winnt "for %i in (" s #+winnt ".exe) do @echo.%~$PATH:i" nil))
+                          (read-line s nil 'eof))))
+-    (unless (eq r 'eof)
+-      (string-downcase r))))
++    (unless (eq r 'eof) r)))
+ (defun get-path (s &aux
+                  (e (unless (minusp (string-match #v"([^\n\t\r ]+)([\n\t\r ]|$)" s))(match-end 1)))
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -407,32 +407,6 @@ setup_maxpages(double scale) {
+ }
+-int
+-qemu_p(void)  {
+-
+-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+-
+-  char *c;
+-  ufixnum e,r=0;
+-  int l;
+-
+-  massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
+-
+-  for (e=0;!e && (c=next_line(l,&r));)
+-    e=!memcmp("model",c,5) && strstr(c,"QEMU");
+-
+-  massert(!close(l));
+-
+-  return e;
+-
+-#else
+-
+-  return 0;
+-
+-#endif
+-}
+-
+-
+ static void *
+ next_shared_lib_map_no_malloc(void)  {
+@@ -753,7 +727,6 @@ main(int argc, char **argv, char **envp)
+   bds_top = bds_org-1;
+   frs_top = frs_org-1;
+-#define CHECK_FOR_QEMU
+ #include "cstack.h"
+   gcl_init_alloc(alloca(1));
diff --git a/patches/Version_2_7_2pre6 b/patches/Version_2_7_2pre6
new file mode 100644 (file)
index 0000000..d49a45b
--- /dev/null
@@ -0,0 +1,419 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-7) unstable; urgency=medium
+ .
+   * Version_2_7_2pre6
+   * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
+Author: Camm Maguire <camm@debian.org>
+Bug-Debian: https://bugs.debian.org/1106482
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2025-05-29
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -270,7 +270,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
+       touch $@
+ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
+       echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
+-           "(compiler::dump-inl-hash \"$@\")" | $|
++           "(compiler::dump-inl-hash \"$@\" t)" | $|
+ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
+ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
+@@ -302,7 +302,7 @@ unixport/lib%.a: | xbin/ar_merge
+ %/recompile: | unixport/%
+       $| -batch \
+          -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
+-         -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
++         -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
+       touch $@
+ unixport/sys_%.o: unixport/sys_init.c
+@@ -418,7 +418,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
+       rm -rf $*/*.o
+       echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
+            "(pcl::compile-pcl)" \
+-           "(compiler::dump-inl-hash \"$@\")" | $|
++           "(compiler::dump-inl-hash \"$@\" t)" | $|
+ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
+       echo "pcl conflicts:"
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -4701,7 +4701,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
+       touch $@
+ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
+       echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
+-           "(compiler::dump-inl-hash \"$@\")" | $|
++           "(compiler::dump-inl-hash \"$@\" t)" | $|
+ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
+ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
+@@ -4728,7 +4728,7 @@ unixport/lib%.a: | xbin/ar_merge
+ %/recompile: | unixport/%
+       $| -batch \
+          -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
+-         -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
++         -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
+       touch $@
+ unixport/sys_%.o: unixport/sys_init.c
+@@ -4843,7 +4843,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
+       rm -rf $*/*.o
+       echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
+            "(pcl::compile-pcl)" \
+-           "(compiler::dump-inl-hash \"$@\")" | $|
++           "(compiler::dump-inl-hash \"$@\" t)" | $|
+ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
+       echo "pcl conflicts:"
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
+@@ -648,6 +648,7 @@
+   (list (this-safety-level)
+       (mapcar (lambda (x) (assert (eq (car x) 'ub)) (third x)) (when lf (fifth form)))
+       (cons (when lf (third form)) (info-type (cadr form)))
++      (ninth form)
+       (if lf (remove-comment (fourth form)) "")))
+ (defun cl-to-fn (cl)
+@@ -672,33 +673,77 @@
+                          (when (eql (length x) (length cy))
+                            (every 'type<= x cy))))))))
++(defun skip-inl (fm tps tr)
++  (or (member-if 'atomic-tp tps)
++      (atomic-tp (info-type (cadr fm)))
++      (exit-to-fmla-p)
++      (member nil tr)
++      (set-difference
++       (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))
++       tr)))
++
++(defun ?update-fm-propagator (fm cl tr tps)
++  (when (symbolp (car cl))
++    (when (get (car cl) 'type-propagator);?more
++      (when (eq (car fm) 'lit)
++      (when (member-if 'integerp tr) ;otherwise no point
++        (push (list (car cl) tr tps) (ninth fm)))))))
++
++(defun merge-inl (cl inl pl &aux (tps (pop inl))(tr (pop inl)))
++  (let ((z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
++    (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
++           (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
++        (pl (let ((x (list* tps tr inl)))
++              (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
++                             "Adding inl-hash ~s: ~s" (car cl) x)
++              (push x (car pl)))))))
++
++(defun merge-inls (s inls &aux (cl (list s))(pl (get-inl-list cl t)))
++  (mapc (lambda (x) (merge-inl cl x pl)) inls))
++
+ (defun ?add-inl (cl fms fm)
+-  (unless (or (member-if 'atomic-tp fms :key (lambda (x) (info-type (caddr x))))
+-            (atomic-tp (info-type (cadr fm))) (exit-to-fmla-p)); (inls-match cl fms)
+-    (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
+-         (tr (mapcar (lambda (x &aux (v (car (last x))))
+-                       (when (and (consp v) (eq (car v) 'var))
+-                         (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
+-                     (if (eq (car fm) 'var) (list (list fm)) (fifth fm))))
+-         (nat (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))))
+-      (unless (or (member nil tr) (set-difference nat tr))
+-      (let* ((pl (get-inl-list cl t))
+-             (inl (lit-inl2 fm))
+-             (z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
+-        (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
+-                 (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
+-              (pl
+-               (let ((x (list* tps tr inl)))
+-                 (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
+-                                "Adding inl-hash ~s: ~s" (car cl) x)
+-                 (push x (car pl))))))))))
++  (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
++       (tr (mapcar (lambda (x &aux (v (car (last x))))
++                     (when (and (consp v) (eq (car v) 'var))
++                       (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
++                   (if (eq (car fm) 'var) (list (list fm)) (fifth fm)))))
++    (?update-fm-propagator fm cl tr tps)
++    (unless (skip-inl fm tps tr)
++      (merge-inl cl (list* tps tr (lit-inl2 fm)) (get-inl-list cl t)))))
+ (defun prepend-comment (form s)
+   (if *annotate*
+       (si::string-concatenate "/* " (prin1-to-string form) " */" (remove-comment s))
+       s))
+-(defun apply-inl (cl fms &aux (inl (inls-match cl fms)))
++(defvar *apply-inl-hash* t)
++
++(defun update-info-type-from-inl (i inl fms &aux (tps (mapcar (lambda (x) (info-type (caddr x))) fms)))
++  (setf (info-type i)
++      (reduce 'type-and
++              (cons (cdr (fifth inl))
++                    (mapcar (lambda (x)
++                              (or
++                               (result-type-from-args
++                                (pop x)
++                                (let ((i -1))
++                                  (mapcar (lambda (tp &aux (p (position (incf i) (car x))))
++                                            (if p (nth (nth p (second inl)) tps) tp))
++                                          (cadr x))))
++                               t))
++                            (sixth inl)))
++              :initial-value (info-type i))))
++
++(defun merge-fm-propagator (x fms inl)
++  (let* ((tr (mapcar (lambda (x &aux (v (car (last x))))
++                     (when (and (consp v) (eq (car v) 'var))
++                       (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
++                   (fifth x))))
++    (mapc (lambda (y) (?update-fm-propagator x y tr (caddr y)))
++        (sixth inl))))
++
++
++(defun apply-inl (cl fms &aux (inl (when *apply-inl-hash* (inls-match cl fms))))
+   (when inl
+     (let* ((c1fms (mapcar (lambda (x) (cdr (nth x fms))) (second inl))))
+       (unless (member-if-not (lambda (x)
+@@ -706,35 +751,56 @@
+                                (var (eq (var-kind (caaddr x)) 'lexical))
+                                ((lit location) t)))
+                            c1fms)
+-      (cond ((zerop (length (car (last inl))))
+-             (let* ((x (car c1fms))(h (pop x))
+-                    (i (copy-info (pop x))))
+-               (setf (info-type i) (type-and (cdr (fifth inl)) (info-type i)))
+-               (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
+-                              "Applying var inl-hash ~s" (car cl))
+-               (list* h i x)))
+-            ((let ((x (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl)))) (mapcar 'list  (fourth inl) c1fms))))
+-               (setf (info-type (cadr x)) (type-and (cdr (fifth inl)) (info-type (cadr x))))
+-               (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
+-                              "Applying inl-hash ~s: ~s: ~s" (car cl) (fourth x))
+-               x)))))))
++      (let* ((z (zerop (length (car (last inl)))))
++             (x (if z
++                    (list* (caar c1fms) (copy-info (cadar c1fms)) (cddar c1fms))
++                    (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl))))
++                           (mapcar 'list  (fourth inl) c1fms)))))
++        (unless z (merge-fm-propagator x fms inl))
++        (update-info-type-from-inl (cadr x) inl fms)
++        (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
++                       "Applying inl-hash ~s: ~s" (car cl) (unless z (fourth x)))
++        x)))))
++
++
++(defun compress-inl (s &aux (i (car (gethash s *inl-hash*))))
++  (when (> (length i) 1)
++    (let ((l (length i))
++        (x (reduce (lambda (y x)
++                     (list
++                      (mapl (lambda (z w) (setf (car z) (type-or1 (car z) (car w))))
++                            (car y) (car x))
++                      (max (cadr y) (third x))))
++                   (cdr i) :initial-value (list (copy-list (caar i)) (third (car i)))))
++        (syms (mapcar (lambda (x) (declare (ignore x)) (gensym)) (make-list (length (caar i))))))
++      (compile nil `(lambda ,syms
++                    (declare (optimize (safety ,(cadr x)))
++                             ,@(mapcar (lambda (x y) (list (cmp-unnorm-tp x) y)) (car x) syms))
++                    (,s ,@syms)))
++      (when (< (length (car (gethash s *inl-hash*))) l)
++      (format t "compress-inl ~s: ~s -> ~s~%" s l (length (car (gethash s *inl-hash*))))))))
+-(defun dump-inl-hash (f)
++(defun dump-inl-hash (f &optional compress &aux (si::*print-package* t))
++  (when compress (maphash (lambda (x y) (declare (ignore y)) (compress-inl x)) *inl-hash*))
+   (with-open-file (s f :direction :output)
+     (prin1 '(in-package :compiler) s)
+     (terpri s)
+     (maphash (lambda (x y)
+              (prin1
+-              `(setf (gethash ',x *inl-hash*)
+-                     (list
+-                      (list
+-                       ,@(mapcar (lambda (z)
+-                                   `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
+-                                          ',(pop z) ',(pop z) ',(pop z)
+-                                          (cons ',(caar z) (uniq-tp ',(cdar z)))
+-                                          ,(cadr z)))
+-                                 (car y)))))
+-                    s)
++              `(merge-inls
++                ',x
++                (list
++                 ,@(mapcar (lambda (z)
++                             `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
++                                    ',(pop z) ',(pop z) ',(pop z)
++                                    (cons ',(caar z) (uniq-tp ',(cdar z)))
++                                    (list ,@(mapcan
++                                             (lambda (x)
++                                               `((list ',(pop x) ',(pop x) ',(mapcar 'export-type (car x)))))
++                                             (cadr z)))
++                                    ,(caddr z)))
++                           (car y))))
++              s)
+              (terpri s))
+            *inl-hash*))
+   nil)
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -355,7 +355,7 @@
+     (coerce-loc *value-to-go* type)))
+     
+-(defun lit-loc (key inl args bind safety oargs stores &aux (tp (get key 'cmp-lisp-type)))
++(defun lit-loc (key inl args bind safety oargs syms stores &aux (tp (get key 'cmp-lisp-type)))
+   (declare (ignore bind safety oargs stores))
+   (let ((sig (list (mapcar (lambda (x) (info-type (cadr x))) args) tp))) 
+     (get-inline-loc (list (car sig) (cadr sig) (flags rfa) inl) args)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptag.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptag.lsp
+@@ -130,7 +130,7 @@
+                        "Initializing ~s at label ~s:~%   type from ~s to ~s,~%   store from ~s to ~s"
+                        (car x) (tag-name z) (var-type (car x)) (cadr x)
+                        (var-store (car x)) (if (eq (var-store (car x)) (caddr x)) (caddr x) +opaque+))
+-        (do-setq-tp (car x) 'mch-set (cadr x));FIXME too prolix
++        (do-setq-tp (car x) '(mch-set) (cadr x));FIXME too prolix
+         (push-vbinds (car x) (caddr x)))
+       l))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -865,14 +865,14 @@
+                                  (incf i lff)(copy-list ff));FIXME?
+                               ((incf i)(list x))))
+                       nargs))
+-       (form (list 'lit info key inl nargs nil lev oargs (make-vs info))))
++       (form (list 'lit info key inl nargs nil lev oargs nil (make-vs info))))
+     (when (find #\= inl)
+       (c1side-effects nil)
+       (setf (info-flags info) (logior (iflags side-effects) (info-flags info))))
+     (setf (sixth form) (new-bind form))
+     form))
+-(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
++(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (syms (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
+   (declare (dynamic-extent r))
+   (let* ((*inline-blocks* 0)
+        (*restore-avma*  *restore-avma*)
+@@ -881,7 +881,7 @@
+        (*compiler-new-safety* *compiler-new-safety*)
+        (*compiler-push-events* *compiler-push-events*))
+     (local-compile-decls `((safety ,safety)))
+-    (unwind-exit (lit-loc key inl args bind safety oargs stores) nil
++    (unwind-exit (lit-loc key inl args bind safety oargs syms stores) nil
+                (cons 'values (if (equal tp #t(returns-exactly)) 0 1)))
+     (close-inline-blocks)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
+@@ -731,7 +731,7 @@
+         (keyed-cmpnote (list (var-name v) 'type-propagation 'type 'bump-cons-tp-if)
+                        "Bumping var ~s cons type ~s -> ~s, tp ~s"
+                        (var-name v) (cmp-unnorm-tp (var-type v)) (cmp-unnorm-tp (tp-or (var-type v) tp)) (cmp-unnorm-tp tp))
+-        (do-setq-tp v 'bump-cons-tp-if (tp-or (var-type v) tp))))
++        (do-setq-tp v '(bump-cons-tp-if) (tp-or (var-type v) tp))))
+       (let ((s (var-store v)))
+       (when (listp s);FIXME
+         (dolist (b s)
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore5"
++"Version_2_7_2pre6"
+--- gcl27-2.7.1.orig/info/c-interface.texi
++++ gcl27-2.7.1/info/c-interface.texi
+@@ -50,7 +50,7 @@ Unsigned versions available are:
+ Complex float and complex double types can be access via:
+-    :fcomplex :dcomples
++    :fcomplex :dcomplex
+ Pointers to types available are
+--- gcl27-2.7.1.orig/o/assignment.c
++++ gcl27-2.7.1/o/assignment.c
+@@ -184,7 +184,7 @@ DEFUN("FSET",object,fSfset,SI,2,2,NONE,O
+     sym->s.s_gfdef = function;
+     sym->s.s_mflag = TRUE;
+   } else {
+-    sym->s.s_gfdef = function;
++    sym->s.s_gfdef = function; /*FIXME*/
+     sym->s.s_mflag = FALSE;
+   }
+   
+--- gcl27-2.7.1.orig/o/num_arith.c
++++ gcl27-2.7.1/o/num_arith.c
+@@ -1001,25 +1001,25 @@ number_divide(object x, object y)
+       case t_complex:
+       COMPLEX:
++
++        x = number_to_complex(x);
++        y = number_to_complex(y);
++
+       {
+-              object z1, z2, z3;
+-              x = number_to_complex(x);
+-              y = number_to_complex(y);
+-              z1 = number_times(y->cmp.cmp_real, y->cmp.cmp_real);
+-              z2 = number_times(y->cmp.cmp_imag, y->cmp.cmp_imag);
+-              z3 = number_plus(z1, z2);
+-              /* if (number_zerop(z3 = number_plus(z1, z2))) DIVISION_BY_ZERO(sLD,list(2,x,y)); */
+-              z1 = number_times(x->cmp.cmp_real, y->cmp.cmp_real);
+-              z2 = number_times(x->cmp.cmp_imag, y->cmp.cmp_imag);
+-              z1 = number_plus(z1, z2);
+-              z = number_times(x->cmp.cmp_imag, y->cmp.cmp_real);
+-              z2 = number_times(x->cmp.cmp_real, y->cmp.cmp_imag);
+-              z2 = number_minus(z, z2);
+-              z1 = number_divide(z1, z3);
+-              z2 = number_divide(z2, z3);
+-              z = make_complex(z1, z2);
+-              return(z);
++        object yl=y->cmp.cmp_real,ys=y->cmp.cmp_imag,xl=x->cmp.cmp_real,xs=x->cmp.cmp_imag,r,dn,w;
++        int s;
++
++        if ((s=(number_compare(number_abs(y->cmp.cmp_real),number_abs(y->cmp.cmp_imag))<0))) {
++          w=ys;ys=yl;yl=w;w=xs;xs=xl;xl=w;
++        }
++
++        r=number_divide(ys,yl);
++        dn=number_plus(yl,number_times(r,ys));
++        w=number_times(xl,r);
++
++        return make_complex(number_divide(number_plus(xl,number_times(xs,r)),dn),
++                            number_divide(s ? number_minus(w,xs) : number_minus(xs,w),dn));
+       }
+       default:
+--- gcl27-2.7.1.orig/xgcl-2/gcl_editors.lsp
++++ gcl27-2.7.1/xgcl-2/gcl_editors.lsp
+@@ -131,7 +131,7 @@
+     (draw-line-xy w (offsetx + 12) (offsety + 35)
+                   (offsetx + 12)
+                   (offsety + 48 + hdel * ((val - nmin) / ndel)) 7)
+-    (editors-update-in-box val w offsetx offsety 40 20))))
++    (editors-update-in-box val w offsetx offsety 40 20)))
+ ; 20 Nov 91; 03 Dec 91; 15 Oct 93; 02 Dec 93; 08 Jan 04
diff --git a/patches/Version_2_7_2pre7 b/patches/Version_2_7_2pre7
new file mode 100644 (file)
index 0000000..1cf50a2
--- /dev/null
@@ -0,0 +1,156 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-8) unstable; urgency=medium
+ .
+   * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
+     declaration of function &#39;__builtin_c23_va_start&#39;; did you mean
+     &#39;__builtin_ms_va_start&#39;? [-Wimplicit-function-declaration]",
+     thanks to Santiago Vila (Closes: #1114119).
+   * Version_2_7_2pre7
+Author: Camm Maguire <camm@debian.org>
+Bug-Debian: https://bugs.debian.org/1114119
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2025-09-21
+
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -7000,6 +7000,61 @@ fi
++add_arg_to_cppflags() {
++
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CPPFLAG $1" >&5
++printf %s "checking for CPPFLAG $1... " >&6; }
++    CPPFLAGS_ORI=$CPPFLAGS
++    CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
++    if test "$cross_compiling" = yes
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++else case e in #(
++  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"
++then :
++  CPPFLAGS="$CPPFLAGS_ORI $1";{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; };return 0
++else case e in #(
++  e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; } ;;
++esac
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++esac
++fi
++
++    CPPFLAGS=$CPPFLAGS_ORI
++    return 1
++
++}
++
++assert_arg_to_cppflags() {
++    if ! add_arg_to_cppflags $1 ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot add $1 to CPPFLAGS" >&5
++printf "%s\n" "cannot add $1 to CPPFLAGS" >&6; }; exit 1 ; fi
++    return 0
++}
++
++add_args_to_cppflags() {
++
++    while test "$#" -ge 1 ; do
++      add_arg_to_cppflags $1
++      shift
++    done
++}
++
+ add_arg_to_cflags() {
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLAG $1" >&5
+@@ -7127,6 +7182,8 @@ printf "%s\n" "removing $1 from LDFLAGS"
+ }
++add_args_to_cppflags -std=gnu17
++
+ add_args_to_cflags  -fsigned-char -pipe -fcommon \
+                     -fno-builtin-malloc -fno-builtin-free \
+                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -170,6 +170,34 @@ fi
+ AC_SUBST(GCL_CC)
+ AC_SUBST(CPP)
++add_arg_to_cppflags() {
++
++    AC_MSG_CHECKING([for CPPFLAG $1])
++    CPPFLAGS_ORI=$CPPFLAGS
++    CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
++    AC_RUN_IFELSE(
++      [AC_LANG_PROGRAM([[]],[[]])],
++      [CPPFLAGS="$CPPFLAGS_ORI $1";AC_MSG_RESULT([yes]);return 0],
++      [AC_MSG_RESULT([no])],
++      [AC_MSG_RESULT([no])])
++    CPPFLAGS=$CPPFLAGS_ORI
++    return 1
++
++}
++
++assert_arg_to_cppflags() {
++    if ! add_arg_to_cppflags $1 ; then AC_MSG_RESULT([cannot add $1 to CPPFLAGS]); exit 1 ; fi
++    return 0
++}
++
++add_args_to_cppflags() {
++
++    while test "$#" -ge 1 ; do
++      add_arg_to_cppflags $1
++      shift
++    done
++}
++
+ add_arg_to_cflags() {
+     AC_MSG_CHECKING([for CFLAG $1])
+@@ -242,6 +270,8 @@ remove_arg_from_ldflags() {
+ }
++add_args_to_cppflags -std=gnu17
++
+ add_args_to_cflags  -fsigned-char -pipe -fcommon \
+                     -fno-builtin-malloc -fno-builtin-free \
+                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre6"
++"Version_2_7_2pre7"
diff --git a/patches/Version_2_7_2pre8 b/patches/Version_2_7_2pre8
new file mode 100644 (file)
index 0000000..b7d356d
--- /dev/null
@@ -0,0 +1,17403 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-9) unstable; urgency=medium
+ .
+   * Version_2_7_2pre8
+Author: Camm Maguire <camm@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2026-02-19
+
+--- gcl27-2.7.1.orig/INSTALL
++++ gcl27-2.7.1/INSTALL
+@@ -13,7 +13,10 @@ Basic Installation
+ should configure, build, and install this package.  The first line,
+ which bootstraps, is intended for developers; when building from
+-distribution tarballs it does nothing and can be skipped.
++distribution tarballs it does nothing and can be skipped.  A package
++might name the bootstrapping script differently; if the name is
++‘autogen.sh’, for example, the first line should say ‘./autogen.sh’
++instead of ‘./bootstrap’.
+    The following more-detailed instructions are generic; see the
+ ‘README’ file for instructions specific to this package.  Some packages
+@@ -25,23 +28,22 @@ found in the GNU Coding Standards.
+    Many packages have scripts meant for developers instead of ordinary
+ builders, as they may use developer tools that are less commonly
+ installed, or they may access the network, which has privacy
+-implications.  If the ‘bootstrap’ shell script exists, it attempts to
+-build the ‘configure’ shell script and related files, possibly using
+-developer tools or the network.  Because the output of ‘bootstrap’ is
+-system-independent, it is normally run by a package developer so that
+-its output can be put into the distribution tarball and ordinary
+-builders and users need not run ‘bootstrap’.  Some packages have
+-commands like ‘./autopull.sh’ and ‘./autogen.sh’ that you can run
+-instead of ‘./bootstrap’, for more fine-grained control over
+-bootstrapping.
+-
+-   The ‘configure’ shell script attempts to guess correct values for
+-various system-dependent variables used during compilation.  It uses
+-those values to create a ‘Makefile’ in each directory of the package.
+-It may also create one or more ‘.h’ files containing system-dependent
+-definitions.  Finally, it creates a shell script ‘config.status’ that
+-you can run in the future to recreate the current configuration, and a
+-file ‘config.log’ containing output useful for debugging ‘configure’.
++implications.  These scripts attempt to bootstrap by building the
++‘configure’ script and related files, possibly using developer tools or
++the network.  Because the output of bootstrapping is system-independent,
++it is normally run by a package developer so that its output can be put
++into the distribution tarball and ordinary builders and users need not
++bootstrap.  Some packages have commands like ‘./autopull.sh’ and
++‘./autogen.sh’ that you can run instead of ‘./bootstrap’, for more
++fine-grained control over bootstrapping.
++
++   The ‘configure’ script attempts to guess correct values for various
++system-dependent variables used during compilation.  It uses those
++values to create a ‘Makefile’ in each directory of the package.  It may
++also create one or more ‘.h’ files containing system-dependent
++definitions.  Finally, it creates a script ‘config.status’ that you can
++run in the future to recreate the current configuration, and a file
++‘config.log’ containing output useful for debugging ‘configure’.
+    It can also use an optional file (typically called ‘config.cache’ and
+ enabled with ‘--cache-file=config.cache’ or simply ‘-C’) that saves the
+@@ -64,9 +66,10 @@ editing ‘configure’ directly.
+   1. ‘cd’ to the directory containing the package’s source code.
+   2. If this is a developer checkout and file ‘configure’ does not yet
+-     exist, type ‘./bootstrap’ to create it.  You may need special
+-     developer tools and network access to bootstrap, and the network
+-     access may have privacy implications.
++     exist, run the bootstrapping script (typically ‘./bootstrap’ or
++     ‘./autogen.sh’) to bootstrap and create the file.  You may need
++     special developer tools and network access to bootstrap, and the
++     network access may have privacy implications.
+   3. Type ‘./configure’ to configure the package for your system.  This
+      might take a while.  While running, ‘configure’ prints messages
+@@ -101,6 +104,18 @@ editing ‘configure’ directly.
+   9. If the package follows the GNU Coding Standards, you can type ‘make
+      uninstall’ to remove the installed files.
++Installation Prerequisites
++==========================
++
++   Installation requires a POSIX-like environment with a shell and at
++least the following standard utilities:
++
++     awk cat cp diff echo expr false ls mkdir mv printf pwd rm rmdir sed
++     sort test tr
++
++This package’s installation may need other standard utilities such as
++‘grep’, ‘make’, ‘sleep’ and ‘touch’, along with compilers like ‘gcc’.
++
+ Compilers and Options
+ =====================
+@@ -356,7 +371,7 @@ more details.
+ Copyright notice
+ ================
+-   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software
++   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2025 Free Software
+ Foundation, Inc.
+    Copying and distribution of this file, with or without modification,
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -129,7 +129,7 @@ BASE_H= h/compbas2.h h/compbas.h h/compp
+       h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+       h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
+       h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
+-        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
++        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
+       gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
+ CMPI_H=       h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
+ ARCHT_H=h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
+@@ -161,7 +161,7 @@ C_SRC=o/typespec.c o/alloc.c o/gbc.c o/b
+ D_SRC=o/character.d o/file.d o/gcl_readline.d o/hash.d o/list.d o/package.d o/pathname.d o/print.d\
+       o/read.d o/sequence.d o/string.d o/symbol.d
+ BUILT_C=o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
+-        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
++        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
+ INI_FILES=$(patsubst %.c,%.ini,$(C_SRC)) $(patsubst %.d,%.ini,$(D_SRC))
+ if AMM_GPROF
+@@ -352,6 +352,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
+ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
+ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
+ gcl0/%.o: | unixport/gcl0
++      rm -f $(@D)/$*.done
+       $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
+       [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
+               ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
+@@ -359,6 +360,7 @@ gcl0/%.o: | unixport/gcl0
+ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
+ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
+ gcl1/%.o: | unixport/gcl1
++      rm -f $(@D)/$*.done
+       $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
+          -eval "(setq compiler::*dump-inl-hash* t)" \
+          -compile $< -o $@
+@@ -456,6 +458,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+       @cat $^ >new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.17 from Makefile.am.
++# Makefile.in generated by automake 1.18.1 from Makefile.am.
+ # @configure_input@
+-# Copyright (C) 1994-2024 Free Software Foundation, Inc.
++# Copyright (C) 1994-2025 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -197,13 +197,12 @@ am__lib_libbase_gcl_a_SOURCES_DIST = o/t
+       h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+       h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+       o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+-      h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+-      h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+-      h/cmponly_last.h h/elf32_armhf_reloc.h \
+-      h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+-      h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+-      h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+-      h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
++      h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
++      h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
++      h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
++      h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
++      h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+       h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+       h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+       h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+@@ -258,7 +257,7 @@ am__objects_4 = o/character.$(OBJEXT) o/
+       o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
+       o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
+       o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
+-      o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
++      o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) o/qfv.$(OBJEXT)
+ nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
+ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
+       $(nodist_lib_libbase_gcl_a_OBJECTS)
+@@ -287,13 +286,12 @@ am__lib_libbase_gcl_gprof_a_SOURCES_DIST
+       h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+       h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+       o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+-      h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+-      h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+-      h/cmponly_last.h h/elf32_armhf_reloc.h \
+-      h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+-      h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+-      h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+-      h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
++      h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
++      h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
++      h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
++      h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
++      h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+       h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+       h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+       h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+@@ -399,7 +397,8 @@ am__objects_8 = o/lib_libbase_gcl_gprof_
+       o/lib_libbase_gcl_gprof_a-sequence.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
+       o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
+-      o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
++      o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT)
+ am__objects_9 = $(am__objects_8)
+ nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
+ lib_libbase_gcl_gprof_a_OBJECTS =  \
+@@ -572,6 +571,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po \
+       o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po \
+@@ -606,7 +606,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+       o/$(DEPDIR)/number.Po o/$(DEPDIR)/package.Po \
+       o/$(DEPDIR)/pathname.Po o/$(DEPDIR)/predicate.Po \
+       o/$(DEPDIR)/prelink.Po o/$(DEPDIR)/print.Po \
+-      o/$(DEPDIR)/prog.Po o/$(DEPDIR)/read.Po \
++      o/$(DEPDIR)/prog.Po o/$(DEPDIR)/qfv.Po o/$(DEPDIR)/read.Po \
+       o/$(DEPDIR)/reference.Po o/$(DEPDIR)/regexpr.Po \
+       o/$(DEPDIR)/run_process.Po o/$(DEPDIR)/sequence.Po \
+       o/$(DEPDIR)/sfasl.Po o/$(DEPDIR)/sockets.Po \
+@@ -1037,7 +1037,7 @@ BASE_H = h/compbas2.h h/compbas.h h/comp
+       h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+       h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
+       h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
+-        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
++        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
+       gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
+ CMPI_H = h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
+@@ -1071,7 +1071,7 @@ D_SRC = o/character.d o/file.d o/gcl_rea
+       o/read.d o/sequence.d o/string.d o/symbol.d
+ BUILT_C = o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
+-        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
++        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
+ INI_FILES = $(patsubst %.c,%.ini,$(C_SRC)) $(patsubst \
+       %.d,%.ini,$(D_SRC)) $(am__append_10)
+@@ -1418,6 +1418,7 @@ o/sequence.$(OBJEXT): o/$(am__dirstamp)
+ o/string.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/symbol.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/new_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++o/qfv.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ lib/$(am__dirstamp):
+       @$(MKDIR_P) lib
+       @: >>lib/$(am__dirstamp)
+@@ -1588,6 +1589,8 @@ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEX
+       o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT): o/$(am__dirstamp) \
+       o/$(DEPDIR)/$(am__dirstamp)
++o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT): o/$(am__dirstamp) \
++      o/$(DEPDIR)/$(am__dirstamp)
+ lib/libbase_gcl_gprof.a: $(lib_libbase_gcl_gprof_a_OBJECTS) $(lib_libbase_gcl_gprof_a_DEPENDENCIES) $(EXTRA_lib_libbase_gcl_gprof_a_DEPENDENCIES) lib/$(am__dirstamp)
+       $(AM_V_at)-rm -f lib/libbase_gcl_gprof.a
+@@ -1850,6 +1853,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po@am__quote@ # am--include-marker
+@@ -1897,6 +1901,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prelink.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/print.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prog.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/qfv.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/read.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/reference.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/regexpr.Po@am__quote@ # am--include-marker
+@@ -3086,6 +3091,20 @@ o/lib_libbase_gcl_gprof_a-new_init.obj:
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-new_init.obj `if test -f 'o/new_init.c'; then $(CYGPATH_W) 'o/new_init.c'; else $(CYGPATH_W) '$(srcdir)/o/new_init.c'; fi`
++o/lib_libbase_gcl_gprof_a-qfv.o: o/qfv.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
++
++o/lib_libbase_gcl_gprof_a-qfv.obj: o/qfv.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
++
+ o/lib_libgprof_a-gprof.o: o/gprof.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libgprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libgprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo -c -o o/lib_libgprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo o/$(DEPDIR)/lib_libgprof_a-gprof.Po
+@@ -3849,6 +3868,7 @@ cscopelist-am: $(am__tagged_files)
+ distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+       -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
++
+ distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+@@ -3902,6 +3922,10 @@ dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+       $(am__post_remove_distdir)
++dist-bzip3: distdir
++      tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
++      $(am__post_remove_distdir)
++
+ dist-lzip: distdir
+       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+       $(am__post_remove_distdir)
+@@ -3946,6 +3970,8 @@ distcheck: dist
+         eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
++      *.tar.bz3*) \
++        bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
+       *.tar.lz*) \
+         lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+       *.tar.xz*) \
+@@ -4186,6 +4212,7 @@ distclean: distclean-am
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
+@@ -4233,6 +4260,7 @@ distclean: distclean-am
+       -rm -f o/$(DEPDIR)/prelink.Po
+       -rm -f o/$(DEPDIR)/print.Po
+       -rm -f o/$(DEPDIR)/prog.Po
++      -rm -f o/$(DEPDIR)/qfv.Po
+       -rm -f o/$(DEPDIR)/read.Po
+       -rm -f o/$(DEPDIR)/reference.Po
+       -rm -f o/$(DEPDIR)/regexpr.Po
+@@ -4508,6 +4536,7 @@ maintainer-clean: maintainer-clean-am
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
+       -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
+@@ -4555,6 +4584,7 @@ maintainer-clean: maintainer-clean-am
+       -rm -f o/$(DEPDIR)/prelink.Po
+       -rm -f o/$(DEPDIR)/print.Po
+       -rm -f o/$(DEPDIR)/prog.Po
++      -rm -f o/$(DEPDIR)/qfv.Po
+       -rm -f o/$(DEPDIR)/read.Po
+       -rm -f o/$(DEPDIR)/reference.Po
+       -rm -f o/$(DEPDIR)/regexpr.Po
+@@ -4625,9 +4655,9 @@ uninstall-man: uninstall-man1
+       clean-local clean-my_gcltkPROGRAMS clean-my_unixportLIBRARIES \
+       clean-my_unixportPROGRAMS clean-noinstLIBRARIES \
+       clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \
+-      dist-all dist-bzip2 dist-gzip dist-info dist-lzip dist-shar \
+-      dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
+-      distclean-compile distclean-generic distclean-hdr \
++      dist-all dist-bzip2 dist-bzip3 dist-gzip dist-info dist-lzip \
++      dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
++      distclean distclean-compile distclean-generic distclean-hdr \
+       distclean-local distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-am install-binSCRIPTS install-data \
+@@ -4778,6 +4808,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
+ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
+ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
+ gcl0/%.o: | unixport/gcl0
++      rm -f $(@D)/$*.done
+       $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
+       [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
+               ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
+@@ -4785,6 +4816,7 @@ gcl0/%.o: | unixport/gcl0
+ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
+ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
+ gcl1/%.o: | unixport/gcl1
++      rm -f $(@D)/$*.done
+       $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
+          -eval "(setq compiler::*dump-inl-hash* t)" \
+          -compile $< -o $@
+@@ -4874,6 +4906,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+       @cat $^ >new_$(@F)
+       @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+--- gcl27-2.7.1.orig/aclocal.m4
++++ gcl27-2.7.1/aclocal.m4
+@@ -1,6 +1,6 @@
+-# generated automatically by aclocal 1.17 -*- Autoconf -*-
++# generated automatically by aclocal 1.18.1 -*- Autoconf -*-
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -20,7 +20,7 @@ You have another version of autoconf.  I
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+-# Copyright (C) 2002-2024 Free Software Foundation, Inc.
++# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -32,10 +32,10 @@ To do so, use the procedure documented b
+ # generated from the m4 files accompanying Automake X.Y.
+ # (This private macro should not be called outside this file.)
+ AC_DEFUN([AM_AUTOMAKE_VERSION],
+-[am__api_version='1.17'
++[am__api_version='1.18'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version.  Point them to the right macro.
+-m4_if([$1], [1.17], [],
++m4_if([$1], [1.18.1], [],
+       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.17])dnl
++[AM_AUTOMAKE_VERSION([1.18.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+ # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
+ # AM_CONDITIONAL                                            -*- Autoconf -*-
+-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
+ Usually this means the macro was only invoked conditionally.]])
+ fi])])
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
+ # Generate code to set up dependency tracking.              -*- Autoconf -*-
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -400,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
+ # Do all the work for Automake.                             -*- Autoconf -*-
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -500,8 +500,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+-            [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+-                           [_AM_PROG_TAR([v7])])])
++  [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++    [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
++      [_AM_PROG_TAR([ustar])])])])
+ _AM_IF_OPTION([no-dependencies],,
+ [AC_PROVIDE_IFELSE([AC_PROG_CC],
+                 [_AM_DEPENDENCIES([CC])],
+@@ -577,7 +578,7 @@ for _am_header in $config_headers :; do
+ done
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -598,7 +599,7 @@ if test x"${install_sh+set}" != xset; th
+ fi
+ AC_SUBST([install_sh])])
+-# Copyright (C) 2003-2024 Free Software Foundation, Inc.
++# Copyright (C) 2003-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -617,7 +618,7 @@ fi
+ rmdir .tst 2>/dev/null
+ AC_SUBST([am__leading_dot])])
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -666,7 +667,7 @@ AC_SUBST([lispdir])
+ # Check to see how 'make' treats includes.                -*- Autoconf -*-
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -709,7 +710,7 @@ AC_SUBST([am__quote])])
+ # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -743,7 +744,7 @@ fi
+ # Helper functions for option handling.                     -*- Autoconf -*-
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -772,7 +773,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
+ AC_DEFUN([_AM_IF_OPTION],
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -804,7 +805,10 @@ AC_CACHE_CHECK(
+       break
+     fi
+   done
+-  rm -f core conftest*
++  # aligned with autoconf, so not including core; see bug#72225.
++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+   unset am_i])
+ if test "$am_cv_prog_cc_c_o" != yes; then
+    # Losing compiler, so override with the script.
+@@ -819,7 +823,7 @@ AC_LANG_POP([C])])
+ # For backward compatibility.
+ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -835,7 +839,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/de
+ AC_SUBST(am__rm_f_notfound)
+ ])
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -854,7 +858,7 @@ AC_DEFUN([AM_RUN_LOG],
+ # Check to make sure that the build environment is sane.    -*- Autoconf -*-
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1023,10 +1027,12 @@ am_lf='
+ '
+ case `pwd` in
+   *[[\\\"\#\$\&\'\`$am_lf]]*)
++    AC_MSG_RESULT([no])
+     AC_MSG_ERROR([unsafe absolute working directory name]);;
+ esac
+ case $srcdir in
+   *[[\\\"\#\$\&\'\`$am_lf\ \  ]]*)
++    AC_MSG_RESULT([no])
+     AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+ esac
+@@ -1079,7 +1085,7 @@ AC_CONFIG_COMMANDS_PRE(
+ rm -f conftest.file
+ ])
+-# Copyright (C) 2009-2024 Free Software Foundation, Inc.
++# Copyright (C) 2009-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1148,9 +1154,13 @@ fi
+ # empty being verbose).
+ AC_DEFUN([AM_SILENT_RULES],
+ [AC_REQUIRE([_AM_SILENT_RULES])
+-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
++AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
++dnl We intentionally force a newline after the assignment, since a) nothing
++dnl good can come of more text following, and b) that was the behavior
++dnl before 1.17. See https://bugs.gnu.org/72267.
++])
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1178,7 +1188,7 @@ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+-# Copyright (C) 2006-2024 Free Software Foundation, Inc.
++# Copyright (C) 2006-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1197,7 +1207,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
+ # Check how to create a tarball.                            -*- Autoconf -*-
+-# Copyright (C) 2004-2024 Free Software Foundation, Inc.
++# Copyright (C) 2004-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1332,7 +1342,7 @@ AC_SUBST([am__tar])
+ AC_SUBST([am__untar])
+ ]) # _AM_PROG_TAR
+-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+--- gcl27-2.7.1.orig/ansi-tests/stable-sort.lsp
++++ gcl27-2.7.1/ansi-tests/stable-sort.lsp
+@@ -174,6 +174,9 @@
+      i x y z))
+   (7 3 2 1) 3 1 2 3)
++(deftest stable-sort.order.3
++    (stable-sort "A1A2A3A4A5A6a1a2a3a4a5a6" 'char-lessp)
++  "112233445566AAAAAAaaaaaa")
+ ;;; Error cases
+--- /dev/null
++++ gcl27-2.7.1/bin/c23.awk
+@@ -0,0 +1,38 @@
++#!/usr/bin/awk -f
++
++/^ *ufixnum *maxargs_for_awk *=/ {gsub("="," ");gsub(";"," ");maxargs=$NF+0;next}
++
++/^ *awk_generated_vc_apply_n_lines;$/ {
++
++    if (!maxargs) {printf("error: maxargs unset\n");exit(-1);}
++   
++    for (n=1;n<=maxargs;n++) {
++      for (m=n;m;m--) {
++          printf("\n\tcase %d*%d+%d: return ((object(*)(",n,maxargs+1,m);
++            for (i=0;i<m;i++) printf("%sobject",i ? "," : "");
++          printf(",...))f)(");
++            for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
++            printf(");");
++      }
++    }
++    printf("\n");
++    
++    next;
++    
++}
++
++/^ *awk_generated_rc_apply_n_lines;$/ {
++    
++    for (n=0;n<=maxargs;n++) {
++      printf("\n\tcase %d: return ((object(*)(",n);
++      for (i=0;i<n;i++) printf("%sobject",i ? "," : "");
++      printf("))f)(");
++      for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
++      printf(");");
++    }
++    printf("\n");
++
++    next;
++}
++
++{print}
+--- gcl27-2.7.1.orig/bin/dpp.c
++++ gcl27-2.7.1/bin/dpp.c
+@@ -62,6 +62,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <stdbool.h>
+ #include "gclincl.h"
+ #include "config.h"
+@@ -81,8 +82,6 @@
+ #define       TRUE            1
+ #define       FALSE           0
+-typedef int bool;
+-
+ FILE *in, *out;
+ char filename[BUFSIZ];
+@@ -128,9 +127,8 @@ char *result[MAXRES];
+ int nres;
+ void
+-error(s)
+-char *s;
+-{
++error(char *s) {
++
+       printf("Error in line %d: %s.\n", line, s);
+       exit(0);
+ }
+@@ -165,9 +163,8 @@ nextc()
+ }
+ void
+-unreadc(c)
+-int c;
+-{
++unreadc(int c) {
++
+       if (c == '\n')
+               --line;
+       else if (c == '\t')
+@@ -176,9 +173,8 @@ int c;
+ }
+ void
+-put_tabs(n)
+-int n;
+-{
++put_tabs(int n) {
++
+       int i;
+       for (i = 0;  i < n;  i++)
+@@ -186,9 +182,8 @@ int n;
+ }
+ void
+-pushc(c)
+-int c;
+-{
++pushc(int c) {
++
+       if (poolp >= &pool[POOLSIZE])
+               error("buffer bool overflow");
+       *poolp++ = c;
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -52,6 +52,75 @@
+ (defvar  *use-sfuncall* t)
+ (defvar *super-funcall* nil)
++;; (defun c2funcall (funob args &optional loc)
++
++;;   (unless (listp args)
++;;     (if *compiler-push-events*
++;;    (wt-nl "super_funcall(" loc ");")
++;;       (if *super-funcall*
++;;      (funcall *super-funcall* loc)
++;;    (wt-nl "super_funcall_no_event(" loc ");")))
++;;     (unwind-exit 'fun-val)
++;;     (return-from c2funcall nil))
++
++;;   (unless (eq 'ordinary (car funob)) (baboon))
++
++;;   (let* ((fn (caddr funob))
++;;     (all (cons fn args))
++;;     (*inline-blocks* 0))
++;;     (setq *sup-used* t)
++;;     (unwind-exit 
++;;      (get-inline-loc
++;;       (list (make-list (length all) :initial-element t)
++;;        '* #.(flags ans set svt) 
++;;        (concatenate 'string
++;;        "({object _z,_f=#0;fixnum _v=(fixnum)#v;
++;;         fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
++;;         _z=Rset && !(_f)->fun.fun_argd &&
++;;         fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
++;;         "
++;;        (if args
++;;            "(_f)->fun.fun_self(#*)"
++;;          "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
++;;        " : call_proc_cs2(#?);
++;;            if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++;;            _z;})")) all))
++;;     (close-inline-blocks)))
++
++;; (defun c2funcall (funob args &optional loc)
++
++;;   (unless (listp args)
++;;     (if *compiler-push-events*
++;;    (wt-nl "super_funcall(" loc ");")
++;;       (if *super-funcall*
++;;      (funcall *super-funcall* loc)
++;;    (wt-nl "super_funcall_no_event(" loc ");")))
++;;     (unwind-exit 'fun-val)
++;;     (return-from c2funcall nil))
++
++;;   (unless (eq 'ordinary (car funob)) (baboon))
++
++;;   (let* ((fn (caddr funob))
++;;     (all (cons fn args))
++;;     (*inline-blocks* 0))
++;;     (setq *sup-used* t)
++;;     (unwind-exit 
++;;      (get-inline-loc
++;;       (list (make-list (length all) :initial-element t)
++;;        '* #.(flags ans set svt) 
++;;        (concatenate 'string
++;;        "({object _z,_f=#0;fixnum _v=(fixnum)#v;
++;;         fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
++;;         _z=Rset && !(_f)->fun.fun_argd &&
++;;         fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
++;;         ({object _b[]={#*};
++;;           quick_call_function_vec(_f,sizeof(_b)/sizeof(*_b),_b);}) :
++;;         call_proc_cs2(#?);
++;;         if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++;;         _z;})")) all))
++;;     (close-inline-blocks)))
++
++
+ (defun c2funcall (funob args &optional loc)
+   (unless (listp args)
+@@ -67,24 +136,35 @@
+   (let* ((fn (caddr funob))
+        (all (cons fn args))
++       (la1 (1- (length all)))
+        (*inline-blocks* 0))
+     (setq *sup-used* t)
+     (unwind-exit 
+      (get-inline-loc
+       (list (make-list (length all) :initial-element t)
+           '* #.(flags ans set svt) 
+-          (concatenate 'string
+-          "({object _z,_f=#0;fixnum _v=(fixnum)#v;
+-        fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
+-        _z=Rset && !(_f)->fun.fun_argd &&
+-        fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
+-        "
+-          (if args
+-              "(_f)->fun.fun_self(#*)"
+-            "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
+-          " : call_proc_cs2(#?);
+-           if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+-           _z;})")) all))
++          (ms
++          "({object _z,_f=fcall.fun=#0;fixnum _v=fcall.valp=(fixnum)#v;char _n=fcall.argd=#n-1;
++        _n=Rset &&
++            !_f->fun.fun_argd &&
++            _n>=_f->fun.fun_minarg &&
++            _n<=(_f->fun.fun_maxarg) ?
++            _f->fun.fun_minarg-_n : -(MAX_ARGS+1);
++        switch (_n) {
++            case 0: _z=_f->fun.fun_minarg==_f->fun.fun_maxarg ?
++                       (" (gcst la1) "_f->fun.fun_self)(#*) :
++                       (" (gcst (max 1 la1) t) "_f->fun.fun_self)(#?);break;
++            "
++          (let ((i 0))
++            (mapcan (lambda (x &aux (j (decf i)))
++                      (declare (ignore x))
++                      (list "case " (write-to-string j) ": _z=(" (gcst (max 1 (+ j la1)) t) "_f->fun.fun_self)(#?);break;
++            "))
++                    (make-list (max 0 la1))))
++          "default: _z=call_proc_cs2(#?);break;
++        }
++        if (!_f->fun.fun_neval && !_f->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++        _z;})")) all))
+     (close-inline-blocks)))
+@@ -391,6 +471,63 @@
+ ;;make a function which will be called hopefully only once,
+ ;;and will establish the link.
++
++(defun stub-decl (name args d &optional vp
++                &aux (i 0))
++  (concatenate
++   'string
++   "static " d " " name ;" LnkT" num
++   "("
++   (apply 'concatenate 'string
++        (mapcan (lambda (x)
++                  (if (eq x '*)
++                      (list ",...")
++                      (list (if (plusp i) ","  "")
++                            (rep-type x)
++                            (progn (incf i) (if vp (concatenate 'string "x" (write-to-string i)) "")))))
++                (if (eq (car args) '*) (cons t args) args)))
++   ")"))
++
++
++(defun stub (num name args type clp
++           &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
++             (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
++  (concatenate
++   'string
++   (stub-decl (concatenate 'string "LnkT" num) args d t)
++   "{
++      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
++      object *FOO=alloca(nargs*sizeof(*FOO));
++      "
++
++   (let ((j 0))
++     (apply 'concatenate 'string
++          (mapcan (lambda (x &aux (sj (write-to-string (incf j))))
++                    (declare (ignore x))
++                    (list "FOO[" sj "-1]=(object)x" sj ";"))
++                  (make-list i))))
++   (when va
++     (concatenate
++      'string
++      "
++      {
++          va_list ap;
++          va_start(ap,x" (write-to-string i) ");
++          int i;
++          for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
++          va_end(ap);
++      }"))
++
++   "
++      return (" d ")call_proc_new23("
++   (vv-str name) ","
++   (if clp "1" "0") ","
++   (write-to-string (argsizes args type 0)) ","
++   "(void **)(void *)&Lnk" num ","
++   (write-to-string (new-proclaimed-argd args type)) ","
++   "FOO);
++}"))
++
+ (defun wt-function-link (x)
+   (let* ((name (pop x))
+        (num (pop x))
+@@ -400,27 +537,11 @@
+        (args (pop x))
+        (clp (pop x)))
+     (declare (ignore n))
+-    (cond
+-      (t
+-       ;;change later to include above.
+-       ;;(setq type (cdr (assoc type '((t . "object")(:btpr . "bptr")))))
+-       (wt-nl1 "static " (declaration-type (rep-type type)) " LnkT" num)
+-       (let ((d (declaration-type (rep-type (if (link-arg-p type) type t)))));FIXME
+-       (if (or args (not (eq t type)))
+-           (wt "(object first,...){" d "V1;va_list ap;va_start(ap,first);V1=(" d ")"
+-               "call_proc_new(" (vv-str name) "," (if clp "1" "0") ","
+-               (write-to-string (argsizes args type 0));FIXME
+-               ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
+-               ",first,ap);va_end(ap);return V1;}")
+-         (wt "(){" d "V1=(" d ")call_proc_new_nval(" (vv-str name) "," (if clp "1" "0") ","
+-             (write-to-string (argsizes args type 0));FIXME
+-             ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
+-             ",0);return V1;}")))))
++    (wt-nl1)
++    (wt (stub num name args type clp))
+     (setq name (function-string name))
+     (if (find #\/ name) (setq name (remove #\/ name)))
+     (wt " /* " name " */")))
+-      
+-
+ ;;For funcalling when the argument is guaranteed to be a compiled-function.
+ ;;For (funcall-c he 3 4), he being a compiled function. (not a symbol)!
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
+@@ -493,7 +493,8 @@
+        (nm (c-function-name "L" (fun-cfun fun) (fun-name fun)))
+        (nm (concatenate 'string "(" (rep-type (coerce-to-one-value (cadr sig))) ")" nm))
+        (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
+-       (nm (if clp (ms clp "->fun.fun_self") nm))
++       (als (cdr (mapcan (lambda (x) (list "," (if (eq x '*) "..." "object"))) (car sig))))
++       (nm (if clp (ms "((object(*)(" als "))" clp "->fun.fun_self)") nm))
+        (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
+     `(,(adj-call-tps-max (car sig)) ,(cadr sig)
+       ,(if mv (flags rfa svt) (flags rfa))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpfun.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpfun.lsp
+@@ -111,23 +111,25 @@
+ ;;             stream)
+ ;;       (list 'call-global info 'terpri (list stream))))
++(defun gcst (n &optional e)
++  (ms "(object(*)(" (cdr (mapcan (lambda (x) (declare (ignore x)) (list "," "object")) (make-list n))) (when e ",...") "))"))
+ (defun c2apply (funob args)
+   (unless (eq 'ordinary (car funob)) (baboon))
+   (let* ((fn (caddr funob))
+        (all (cons fn args))
++       (la2 (- (length all) 2))
+        (*inline-blocks* 0))
+     (setq *sup-used* t)
+     (unwind-exit
+      (get-inline-loc
+       (list (make-list (length all) :initial-element t)
+           '* #.(flags ans set svt)
+-          (concatenate
+-           'string
++          (ms
+            "({fixnum _v=(fixnum)#v;object _z,_f=(#0),_l=(#1),_ll=_l;
+         object _x4=Cnil,_x3=Cnil,_x2=Cnil,_x1=Cnil,_x0=Cnil;
+-        char _m=(#n-2),_q=_f->fun.fun_minarg>_m ? _f->fun.fun_minarg-_m : 0;
+-        char _n=Rset && !_f->fun.fun_argd ? _q : -1;
++        char _m=(#n-2),_n=Rset && !_f->fun.fun_argd ? _f->fun.fun_minarg-_m : -(MAX_ARGS+1);
++        char _reg=_f->fun.fun_minarg==_f->fun.fun_maxarg;
+         fcall.fun=_f;fcall.valp=_v;fcall.argd=-(#n-1);
+         switch (_n) {
+           case 5: if (_l==Cnil) {_n=-1;break;} _x4=_l->c.c_car;_l=_l->c.c_cdr;
+@@ -135,21 +137,30 @@
+           case 3: if (_l==Cnil) {_n=-1;break;} _x2=_l->c.c_car;_l=_l->c.c_cdr;
+           case 2: if (_l==Cnil) {_n=-1;break;} _x1=_l->c.c_car;_l=_l->c.c_cdr;
+           case 1: if (_l==Cnil) {_n=-1;break;} _x0=_l->c.c_car;_l=_l->c.c_cdr;
+-          case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-1; else fcall.argd-=_n;
+-          default: break;
++          case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1); else fcall.argd-=_n;
++          default: if (_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1);break;
+         }
+         switch (_n) {
+-          case 5:  _z=_f->fun.fun_self(#*_x4,_x3,_x2,_x1,_x0,_l);break;
+-          case 4:  _z=_f->fun.fun_self(#*_x3,_x2,_x1,_x0,_l);break;
+-          case 3:  _z=_f->fun.fun_self(#*_x2,_x1,_x0,_l);break;
+-          case 2:  _z=_f->fun.fun_self(#*_x1,_x0,_l);break;
+-          case 1:  _z=_f->fun.fun_self(#*_x0,_l);break;
+-          case 0:  _z="
+-           (if (cdr args)
+-               "_f->fun.fun_self(#*_l)"
+-             "(_f->fun.fun_maxarg ? _f->fun.fun_self(#*_l) : _f->fun.fun_self())")
+-           ";break;
+-          default: _z=call_proc_cs2(#*_ll);break;
++          case 5:  _z=_reg ? (" (gcst (+ 5 la2)) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0) :
++                             (" (gcst (+ 5 la2) t) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0,_l);break;
++          case 4:  _z=_reg ? (" (gcst (+ 4 la2)) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0) :
++                             (" (gcst (+ 4 la2) t) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0,_l);break;
++          case 3:  _z=_reg ? (" (gcst (+ 3 la2)) "_f->fun.fun_self)(#*_x2,_x1,_x0) :
++                             (" (gcst (+ 3 la2) t) "_f->fun.fun_self)(#*_x2,_x1,_x0,_l);break;
++          case 2:  _z=_reg ? (" (gcst (+ 2 la2)) "_f->fun.fun_self)(#*_x1,_x0) :
++                             (" (gcst (+ 2 la2) t) "_f->fun.fun_self)(#*_x1,_x0,_l);break;
++          case 1:  _z=_reg ? (" (gcst (+ 1 la2)) "_f->fun.fun_self)(#*_x0) :
++                             (" (gcst (+ 1 la2) t) "_f->fun.fun_self)(#*_x0,_l);break;
++          case 0:  _z=_reg ? (" (gcst (+ 0 la2)) "_f->fun.fun_self)(#*) :
++                             (" (gcst (max 1 (+ 0 la2)) t) "_f->fun.fun_self)(#*_l);break;
++          "
++                               (let ((i 0))
++                                 (mapcan (lambda (x)
++                                           (declare (ignore x))
++                                           (list "case " (write-to-string (decf i)) ": _z=(" (gcst (max 1 (+ i la2)) t) "_f->fun.fun_self)(#*_l);break;
++          "))
++                                         (make-list (max 0 la2))))
++          "default: _z=call_proc_cs2(#*_ll);break;
+         }
+         if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+         _z;})"))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -946,8 +946,8 @@
+                          ((eql ch #\n)
+                           (wt (length locs)))
+                          ((or (eql ch #\*) (eql ch #\?))
+-                          (let* ((f (char= (char fun (1- i)) #\())
+-                                 (e (char= (char fun (+ 2 i)) #\)))
++                          (let* ((f (member (char fun (1- i))  '(#\( #\{)))
++                                 (e (member (char fun (+ 2 i)) '(#\) #\})))
+                                  (locs (nthcdr max locs))
+                                  (locs (or locs (when (eql ch #\?) `((fixnum-value nil 0))))))
+                             (dolist (v locs (unless (or f e) (wt ",")))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
+@@ -180,12 +180,23 @@
+               (when tem (truename tem))))))
+        ((setf (car *split-files*) (+ (third *split-files*) section-length))))))
++(defun pathname-type-prefix (tp)
++  (if (stringp tp) (subseq tp 0 (1+ (string-match #v"\\.[^\\.]*$" tp))) ""))
++
++(defun compile-file-pathname (pathname &key output-file &allow-other-keys)
++  (declare (optimize (safety 1)))
++  (check-type pathname pathname-designator)
++  (check-type output-file (or null pathname-designator))
++  (or output-file
++      (make-pathname :defaults pathname
++                   :type (strcat (pathname-type-prefix (pathname-type pathname)) "o"))))
++
+ (defvar *init-name* nil)
+ (defvar *function-filename* nil)
+ (defvar *c-debug* nil)
+ (defvar *dump-inl-hash* nil)
+ (defun compile-file1 (input-pathname
+-                      &key (output-file (merge-pathnames ".o" (truename input-pathname)))
++                      &key (output-file (compile-file-pathname (truename input-pathname)))
+                            (o-file t)
+                            (c-file *default-c-file*)
+                            (h-file *default-h-file*)
+@@ -242,12 +253,9 @@ Cannot compile ~a.~%" (namestring (merge
+    (when (consp *split-files*)
+      (file-position *compiler-input* (third *split-files*))
+      (setq output-file
+-         (make-pathname :device (pathname-device output-file)
+-                        :directory (pathname-directory output-file)
+-                        :name (format nil "~a~a"
+-                                      (pathname-name output-file)
+-                                      (length (second *split-files*)))
+-                        :type "o")))
++         (merge-pathnames
++          (format nil "~a~a" (pathname-name output-file) (length (second *split-files*)))
++          output-file)))
+    
+    (with-open-file (s output-file :if-does-not-exist :create))
+    (setq *init-name* (init-name output-file t))
+@@ -256,16 +264,15 @@ Cannot compile ~a.~%" (namestring (merge
+                              (namestring (truename (pathname *compiler-input*)))))
+    (let* ((eof (cons nil nil))
+-        (dir    (or (unless (null output-file) (pathname-directory output-file)) (pathname-directory input-pathname)))
+-        (name   (or (unless (null output-file) (pathname-name output-file)) (pathname-name input-pathname)))
+-        (tp     (or (unless (null output-file) (pathname-type output-file)) "o"))
+-        (device (or (unless (null output-file) (pathname-device output-file)) (pathname-device input-pathname)))
+-        (o-pathname (get-output-pathname o-file tp name dir device))
+-        (c-pathname (get-output-pathname c-file "c" name dir device))
+-        (h-pathname (get-output-pathname h-file "h" name dir device))
+-        (data-pathname (get-output-pathname data-file "data" name dir device)))
+-
+-    (declare (special dir name));FIXME
++        (device (pathname-device output-file))
++        (dir (pathname-directory output-file))
++        (name (pathname-name output-file))
++        (typ (pathname-type output-file))
++        (tp (pathname-type-prefix typ))
++        (o-pathname (get-output-pathname o-file typ name dir device))
++        (c-pathname (get-output-pathname c-file (strcat tp "c") name dir device))
++        (h-pathname (get-output-pathname h-file (strcat tp "h") name dir device))
++        (data-pathname (get-output-pathname data-file (strcat tp "data") name dir device)))
+     (init-env)
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpopt.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpopt.lsp
+@@ -1162,7 +1162,8 @@
+     (setf (get s 'lisp-type) l)))
+ (dolist (l '((object t)(plist proper-list)(float short-float)(double long-float)
+-           (pack (or null package)) (direl (or keyword null string))))
++           (pack (or null package)) (direl (or keyword null string))
++           (dirdir (or (eql :unspecific) proper-list))))
+   (let ((s (intern (symbol-name (car l)) 'keyword)))
+     (setf (get s 'lisp-type) (cadr l))))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -179,7 +179,7 @@
+ (defun init-name (p &optional sp)
+   (if sp
+-      (let* ((p (truename (merge-pathnames p #p".lsp")))
++      (let* ((p (truename p))
+            (pn (pathname-name p))
+            (g (zerop (si::string-match #v"^gcl_" pn))))
+       (dash-to-underscore
+@@ -338,19 +338,8 @@
+       (when (eq type 'proclaimed-closure)
+       (wt-h "static object *Lclptr"num";"))
+-      
+-      (if (and (not (null type))
+-             (not (eq type 'proclaimed-closure))
+-             (or args (not (eq t type))))
+-        (progn
+-          (wt-h "static " d " LnkT" num "(object,...);")
+-          #-sgi3d (wt-h "static "  d " (*Lnk" num ")() = ("
+-                        d "(*)()) LnkT" num ";")
+-          #+sgi3d (wt-h "static "  d " (*Lnk" num ")();"))
+-      (progn 
+-        (wt-h "static " d " LnkT" num "();")
+-        #-sgi3d (wt-h "static "  d " (*Lnk" num ")() = LnkT" num ";")
+-        #+sgi3d (wt-h "static "  d " (*Lnk" num ")();"))))))
++      (wt-h (stub-decl (concatenate 'string "LnkT" num) args d) ";")
++      (wt-h (stub-decl (concatenate 'string "(*Lnk" num ")") args d) "=LnkT" num ";"))))
+ ;; this default will be as close to the the decision of the x3j13 committee
+@@ -1127,19 +1116,34 @@
+     (let ((x (position x +c-global-arg-types+ :test 'type<=)))
+       (if x (1+ x) 0))))
+-(defconstant +max-typed-args+
+-  (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
+-    (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
++(defun argd-sz nil
++  (labels ((ff (x) (when (consp x) (if (eq (car x) 'the) (cdr (tp-bnds (cmp-norm-tp (cadr x)))) (or (ff (car x)) (ff (cdr x)))))))
++    (ff (fle 'c-function-argd))))
++
++(defconstant +real-max-typed-args+
++  (labels ((ret-max (x)
++           (when (consp x)
++             (if (eq (car x) 'the)
++                 (1- (truncate (integer-length (cdr (tp-bnds (cmp-norm-tp (cadr x))))) 2))
++                 (or (ret-max (car x)) (ret-max (cdr x)))))))
++    (ret-max (fle 'c-function-argd))))
++    
++(defconstant +max-typed-args+ #+pre-gcl 0 #-pre-gcl +real-max-typed-args+)
+ (defun adj-call-tps-max (tps &aux (i -1))
+   (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
+-(defun new-proclaimed-argd (args return)
+-  (do* ((type (f-type return) (f-type (pop args)))
+-      (i 0 (+ 2 i))
+-      (ans type (logior ans (ash type i))))
+-       ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
+-      (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
++(defun new-proclaimed-argd (args return &aux (i 0))
++  (reduce (lambda (y x &aux (j (incf i)))
++          (if (> j +max-typed-args+) y (logior y (ash (f-type x) (ash j 1)))));FIXME fragile wrt pre-gcl
++        args :initial-value (f-type return)))
++
++;; (defun new-proclaimed-argd (args return)
++;;   (do* ((type (f-type return) (f-type (pop args)))
++;;    (i 0 (+ 2 i))
++;;    (ans type (logior ans (ash type i))))
++;;        ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
++;;    (the (unsigned-byte #.(ash (1+ +real-max-typed-args+) 1)) ans))))
+ (defun type-f (x)
+   (declare (fixnum x))
+--- gcl27-2.7.1.orig/compile
++++ gcl27-2.7.1/compile
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Wrapper for compilers which do not understand '-c -o'.
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ # Written by Tom Tromey <tromey@cygnus.com>.
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -37,11 +37,11 @@ IFS=" ""   $nl"
+ file_conv=
+-# func_file_conv build_file lazy
++# func_file_conv build_file unneeded_conversions
+ # Convert a $build file to $host form and store it in $file
+ # Currently only supports Windows hosts. If the determined conversion
+-# type is listed in (the comma separated) LAZY, no conversion will
+-# take place.
++# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
++# conversion will take place.
+ func_file_conv ()
+ {
+   file=$1
+@@ -51,9 +51,20 @@ func_file_conv ()
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+-          file_conv=mingw
++          if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
++            # MSYS2 environment.
++            file_conv=cygwin
++          else
++            # Original MinGW environment.
++            file_conv=mingw
++          fi
+           ;;
+-        CYGWIN* | MSYS*)
++        MSYS*)
++          # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
++          file_conv=cygwin
++          ;;
++        CYGWIN*)
++          # Cygwin environment.
+           file_conv=cygwin
+           ;;
+         *)
+@@ -63,12 +74,14 @@ func_file_conv ()
+       fi
+       case $file_conv/,$2, in
+       *,$file_conv,*)
++        # This is the optimization mentioned above:
++        # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
+         ;;
+       mingw/*)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+-      cygwin/* | msys/*)
+-        file=`cygpath -m "$file" || echo "$file"`
++      cygwin/*)
++        file=`cygpath -w "$file" || echo "$file"`
+         ;;
+       wine/*)
+         file=`winepath -w "$file" || echo "$file"`
+@@ -343,9 +356,9 @@ exit $ret
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 2
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -2996,7 +2996,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_config_headers="$ac_config_headers h/gclincl.h"
+-am__api_version='1.17'
++am__api_version='1.18'
+@@ -3266,10 +3266,14 @@ am_lf='
+ '
+ case `pwd` in
+   *[\\\"\#\$\&\'\`$am_lf]*)
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
+     as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+ esac
+ case $srcdir in
+   *[\\\"\#\$\&\'\`$am_lf\ \   ]*)
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
+     as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+ esac
+@@ -5476,7 +5480,10 @@ _ACEOF
+       break
+     fi
+   done
+-  rm -f core conftest*
++  # aligned with autoconf, so not including core; see bug#72225.
++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+   unset am_i ;;
+ esac
+ fi
+@@ -6703,7 +6710,10 @@ _ACEOF
+       break
+     fi
+   done
+-  rm -f core conftest*
++  # aligned with autoconf, so not including core; see bug#72225.
++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+   unset am_i ;;
+ esac
+ fi
+@@ -7182,12 +7192,9 @@ printf "%s\n" "removing $1 from LDFLAGS"
+ }
+-add_args_to_cppflags -std=gnu17
+-
+ add_args_to_cflags  -fsigned-char -pipe -fcommon \
+                     -fno-builtin-malloc -fno-builtin-free \
+                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+-                  -std=gnu17 \
+                   -Wall \
+                   -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+                   -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -270,12 +270,9 @@ remove_arg_from_ldflags() {
+ }
+-add_args_to_cppflags -std=gnu17
+-
+ add_args_to_cflags  -fsigned-char -pipe -fcommon \
+                     -fno-builtin-malloc -fno-builtin-free \
+                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+-                  -std=gnu17 \
+                   -Wall \
+                   -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+                   -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+--- gcl27-2.7.1.orig/depcomp
++++ gcl27-2.7.1/depcomp
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # depcomp - compile a program generating dependencies as side-effects
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -784,9 +784,9 @@ exit 0
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 2
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/gcl-tk/comm.c
++++ gcl27-2.7.1/gcl-tk/comm.c
+@@ -79,8 +79,7 @@ setup_connection_state(int fd)
+ /* P is supposed to start with a hdr  and run N bytes. */
+ static void
+-scan_headers(sfd)
+-     struct connection_state *sfd;
++scan_headers(struct connection_state *sfd)
+ { struct our_header *hdr;
+   char *p = sfd->valid_data + sfd->next_packet_offset;
+   int n = sfd->valid_data_size - sfd->next_packet_offset;
+@@ -118,11 +117,7 @@ send_confirmation(struct connection_stat
+ */   
+ static int
+-read1(sfd,p,m,timeout)
+-struct connection_state* sfd;     
+-char *p;
+-int timeout;
+-int m;
++read1(struct connection_state* sfd,char *p,int m,int timeout)
+ { int nread=0;
+   int wanted = m;
+   int length;
+@@ -217,10 +212,7 @@ static void
+ connection_failure(char *);
+ int
+-write1(sfd,p,bytes)
+-     struct connection_state *sfd;
+-     const char *p;
+-     int bytes;
++write1(struct connection_state *sfd,const char *p,int bytes)
+ { 
+   int bs;
+   int to_send = bytes;
+--- gcl27-2.7.1.orig/gcl-tk/guis.c
++++ gcl27-2.7.1/gcl-tk/guis.c
+@@ -93,7 +93,7 @@ int fDebugSockets;
+ int hdl = -1;
+-void TkX_Wish ();
++void TkX_Wish (int,char *[]);
+ pid_t parent;
+  
+@@ -335,11 +335,7 @@ char *envp[];
+ }
+ struct connection_state *
+-sock_connect_to_name(host_id,  name, async)
+-     char *host_id;
+-     int name;
+-     int async;
+-     
++sock_connect_to_name(char *host_id,int  name,int async)
+ {
+   struct sockaddr_in addr;
+   int fd, n, rc;
+@@ -360,8 +356,7 @@ sock_connect_to_name(host_id,  name, asy
+ }
+ void
+-sock_close_connection(sfd)
+-struct connection_state *sfd;     
++sock_close_connection(struct connection_state *sfd)
+ {
+   close( sfd->fd );
+   free(sfd->read_buffer);
+@@ -387,16 +382,8 @@ struct connection_state *sfd;
+ static int message_id;
+ int
+-sock_write_str2( sfd, type, hdr,
+-              hdrsize,text, length )
+-
+-struct connection_state *sfd;
+-enum mtype type;
+- char *hdr;
+-int hdrsize;
+-const char *text;
+-int length;
+-     
++sock_write_str2(struct connection_state *sfd,enum mtype type,char *hdr,
++              int hdrsize,const char *text,int length )
+ {
+   char buf[0x1000];
+   char *p = buf;
+@@ -447,10 +434,7 @@ int length;
+ struct message_header *
+-guiParseMsg1(sfd,buf,bufleng)
+-  char *buf;
+-int bufleng;
+-struct connection_state *sfd;
++guiParseMsg1(struct connection_state *sfd,char *buf,int bufleng)
+ { int m;
+   int body_length;
+   int tot;
+@@ -489,12 +473,10 @@ error(s)
+ }
+ void
+-write_timeout_error(s)
+-     char *s;
++write_timeout_error(char *s)
+ { fprintf(stderr,"write timeout: %s",s); abort();
+ }
+ void
+-connection_failure(s)
+-     char *s;
++connection_failure(char *s)
+ { fprintf(stderr,"connection_failure:%s",s); abort();
+ }
+--- gcl27-2.7.1.orig/gcl-tk/guis.h
++++ gcl27-2.7.1/gcl-tk/guis.h
+@@ -70,14 +70,14 @@ typedef struct _guiMsg {
+ */
+ #include "sheader.h"
+-struct message_header * guiParseMsg1();
++struct message_header *guiParseMsg1(struct connection_state *,char *,int);
+ extern pid_t parent;
+-struct connection_state *
+-sock_connect_to_name();
+-void sock_close_connection( );
++struct connection_state *sock_connect_to_name(char *,int,int);
++void sock_close_connection(struct connection_state *);
++
+ int sock_read_str();
+ guiMsg *guiParseMsg();
+--- gcl27-2.7.1.orig/gcl-tk/sheader.h
++++ gcl27-2.7.1/gcl-tk/sheader.h
+@@ -109,4 +109,4 @@ extern struct connection_state *dsfd;
+ #define OBJ_TO_CONNECTION_STATE(x) \
+   ((struct connection_state *)(void *)((x)->ust.ust_self))
+-struct connection_state * setup_connection_state();
++struct connection_state * setup_connection_state(int);
+--- gcl27-2.7.1.orig/gcl-tk/tkAppInit.c
++++ gcl27-2.7.1/gcl-tk/tkAppInit.c
+@@ -61,8 +61,7 @@ int *tclDummyMainPtr = (int *) main;
+  */
+ int
+-Tcl_AppInit(interp)
+-    Tcl_Interp *interp;               /* Interpreter for application. */
++Tcl_AppInit(Tcl_Interp *interp)/* Interpreter for application. */
+ {
+     Tk_Window mmain;
+ /*
+--- gcl27-2.7.1.orig/gcl-tk/tkMain.c
++++ gcl27-2.7.1/gcl-tk/tkMain.c
+@@ -57,8 +57,9 @@
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <errno.h>
++#include <stdbool.h>
+-int writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
++bool writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
+ #include "guis.h"
+ struct connection_state *dsfd;
+@@ -128,8 +129,7 @@ dfprintf(FILE *fp,char *s,...) {
+ #define SIGNAL_ERROR TCL_signal_error
+ static void
+-TCL_signal_error(x)
+-     char *x;
++TCL_signal_error(char *x)
+ {char buf[300] ;
+   snprintf(buf,sizeof(buf),"error %s",x);
+  Tcl_Eval(interp,buf);
+@@ -196,9 +196,7 @@ EXTERN Tk_Window   TkCreateMainWindow _ANS
+                               char * screenName, char * baseName));
+ void
+-TkX_Wish (argc, argv)
+-    int argc;                         /* Number of arguments. */
+-    char **argv;                      /* Array of argument strings. */
++TkX_Wish (int argc,char **argv)
+ {
+     char *args, *p;
+     const char *msg;
+@@ -402,18 +400,11 @@ static char *being_set_by_lisp;
+ static char *
+ tell_lisp_var_changed(
+-                clientData,
+-               interp,
+-               name1,
+-               name2,
+-                flags)
+-
+-          ClientData clientData;
+-               Tcl_Interp *interp;
+-               char *name1;
+-               char *name2;
+-               int flags;     
+-     
++                ClientData clientData,
++               Tcl_Interp *interp,
++               const char *name1,
++               const char *name2,
++                int flags)
+ {
+   if (being_set_by_lisp == 0)
+@@ -459,9 +450,7 @@ tell_lisp_var_changed(
+     /* ARGSUSED */
+ static void
+-StdinProc(clientData, mask)
+-     ClientData clientData;           /* Not used. */
+-     int mask;                                /* Not used. */
++StdinProc(ClientData clientData,int mask)
+ {
+   int fNotDone;
+   char *cmd;
+@@ -606,13 +595,9 @@ typedef struct _ClientDataLispObject {
+ } ClientDataLispObject;
+ static int
+-TclGenericCommandProcedure( clientData,
+-                         pinterp,
+-                          argc, argv)
+-     ClientData clientData;
+-     Tcl_Interp *pinterp;
+-     int argc;
+-     char *argv[];
++TclGenericCommandProcedure(ClientData clientData,
++                         Tcl_Interp *pinterp,
++                          int argc,const char **argv)
+ {
+   char szCmd[CMD_SIZE];
+   ClientDataLispObject *pcdlo = (ClientDataLispObject *)clientData;
+@@ -623,7 +608,7 @@ TclGenericCommandProcedure( clientData,
+   STORE_3BYTES(q,(pcdlo->iSlot));
+   q += 3;
+   if (p == 0)
+-    { char *arg = (argc > 1 ? argv[1] : "");
++    { const char *arg = (argc > 1 ? argv[1] : "");
+       int m = strlen(arg);
+       if (m > CMD_SIZE -50)
+       SIGNAL_ERROR("too big command");
+@@ -663,8 +648,7 @@ TclGenericCommandProcedure( clientData,
+ static void
+-guiCreateCommand( idLispObject,  iSlot , arglist)
+-     int idLispObject; int iSlot ; char *arglist;
++guiCreateCommand(int idLispObject,int iSlot,char *arglist)
+ {
+   char szNameCmdProc[2000],*c;
+   ClientDataLispObject *pcdlo;
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre7"
++"Version_2_7_2pre8"
+--- gcl27-2.7.1.orig/git_touch
++++ gcl27-2.7.1/git_touch
+@@ -1,7 +1,15 @@
+ #!/bin/bash
+-touch aclocal.m4 \
+-      configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
++SLEEP=$1
++
++for i in  \
++      configure.ac aclocal.m4 gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
+       configure \
+       Makefile.am Makefile.in \
+-      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
++      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info ; do
++    touch $i
++    if [ "$SLEEP" != "" ] ; then
++      echo $i
++      sleep $SLEEP
++    fi
++done
+--- gcl27-2.7.1.orig/h/att_ext.h
++++ gcl27-2.7.1/h/att_ext.h
+@@ -144,7 +144,6 @@ EXTER object FASL_string;
+ /*  frame.c  */
+ /*  gbc.c  */
+-EXTER bool GBC_enable;
+ #ifdef CAN_UNRANDOMIZE_SBRK
+ EXTER bool gcl_unrandomized;
+@@ -418,4 +417,4 @@ EXTER object sSPmemory;
+ EXTER object sSPinit;
+ /* string.d */
+-int  (*casefun)();
++int  (*casefun)(int,int *);
+--- gcl27-2.7.1.orig/h/cmponly_last.h
++++ gcl27-2.7.1/h/cmponly_last.h
+@@ -5,3 +5,6 @@
+ /* #undef _setjmp */
+ /* #define _setjmp ((int(*)(void *))dlsetjmp) */
+ /* #endif */
++
++int setjmp(void *);
++int _setjmp(void *);
+--- gcl27-2.7.1.orig/h/compdefs.h
++++ gcl27-2.7.1/h/compdefs.h
+@@ -93,3 +93,5 @@ aref1
+ OBJ_ALIGNED_STACK_ALLOC(x)
+ NO_RETURN
+ CHAR_SIZE
++MAX_ARGS
++bool
+--- gcl27-2.7.1.orig/h/compprotos.h
++++ gcl27-2.7.1/h/compprotos.h
+@@ -16,9 +16,8 @@ int number_zerop(object);
+ long int fixint(object);
+ object alloc_object(enum type);
+ object call_proc_cs2(object,...);
+-object call_proc_new(object,ufixnum,ufixnum,void **,ufixnum,object,va_list);
+-object call_proc_new_nval(object,ufixnum,ufixnum,void **,ufixnum,object,...);
+-object coerce_to_string();
++object call_proc_new23(object,ufixnum,ufixnum,void **,ufixnum,object *);
++object coerce_to_string(object);
+ object fixnum_big_shift(fixnum,fixnum);
+ object fixnum_times(fixnum,fixnum);
+ object fSgensym0(void);
+@@ -102,6 +101,4 @@ object file_stream(object);
+ fixnum fixnum_expt(fixnum, fixnum);
+ char *gcl_gets(char *,int);
+ int gcl_puts(const char *);
+-int setjmp();
+-int _setjmp();
+ char *object_to_string(object);
+--- gcl27-2.7.1.orig/h/error.h
++++ gcl27-2.7.1/h/error.h
+@@ -99,7 +99,7 @@ object ihs_top_function_name(ihs_ptr h);
+                                                  sKformat_control,make_simple_string(a_),sKformat_arguments,list(1,(b_)))
+ #define FEtoo_few_arguments(a_,b_) \
+   Icall_error_handler(sLprogram_error,null_string,4,\
+-                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
++                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
+                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
+ #define FEwrong_no_args(a_,b_) \
+   Icall_error_handler(sLprogram_error,null_string,4,\
+@@ -112,7 +112,7 @@ object ihs_top_function_name(ihs_ptr h);
+ #define FEtoo_many_arguments(a_,b_) \
+   Icall_error_handler(sLprogram_error,null_string,4,\
+-                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
++                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
+                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
+ #define FEtoo_many_argumentsF(a_) \
+   Icall_error_handler(sLprogram_error,null_string,4,\
+--- gcl27-2.7.1.orig/h/linux.h
++++ gcl27-2.7.1/h/linux.h
+@@ -165,7 +165,7 @@ do { int c = 0; \
+ #else
+ #define FPE_TCODE(x_) \
+-  {ufixnum _x=(x_),_y=0;                      \
++  ({ufixnum _x=(x_),_y=0;                     \
+    switch(_x) {                                       \
+    case FPE_FLTINV: _y=FE_INVALID;break;      \
+    case FPE_FLTDIV: _y=FE_DIVBYZERO;break;    \
+@@ -174,7 +174,7 @@ do { int c = 0; \
+    case FPE_FLTRES: _y=FE_INEXACT;break;      \
+    }                                          \
+    _y;                                                \
+-  }
++  })
+ #define FPE_CODE(i_,v_) make_fixnum(FPE_TCODE((fixnum)SF(i_)->si_code))
+ #define FPE_ADDR(i_,v_) make_fixnum((fixnum)SF(i_)->si_addr)
+ #define FPE_CTXT(v_) Cnil
+--- gcl27-2.7.1.orig/h/lu.h
++++ gcl27-2.7.1/h/lu.h
+@@ -47,6 +47,7 @@ typedef void   (*vfunc)();
+ typedef object integer;
+ typedef object keyword;
+ typedef object direl;
++typedef object dirdir;
+ typedef object plist;
+ typedef object pack;
+ typedef object real;
+@@ -57,8 +58,7 @@ typedef float  shortfloat;
+ typedef double longfloat;
+ typedef float  complex fcomplex;
+ typedef double complex dcomplex;
+-#undef bool
+-typedef int bool;
++#include <stdbool.h>
+ typedef unsigned short int ushort;
+ typedef unsigned int uint;
+@@ -462,7 +462,7 @@ struct pathname {
+   direl  pn_host;      /*  host  */
+   direl  pn_device;    /*  device  */
+-  plist  pn_directory; /*  directory  */
++  dirdir pn_directory; /*  directory  */
+   direl  pn_name;      /*  name  */
+   direl  pn_type;      /*  type  */
+   direl  pn_version;   /*  version  */
+--- gcl27-2.7.1.orig/h/notcomp.h
++++ gcl27-2.7.1/h/notcomp.h
+@@ -10,7 +10,7 @@
+ EXTER int *cs_org;     
+-EXTER int GBC_enable;
++EXTER bool GBC_enable;
+ #define CHAR_SIZE 8
+ EXTER object sSAnotify_gbcA;
+@@ -20,7 +20,7 @@ EXTER int interrupt_flag,interrupt_enabl
+ /* void sigint(),sigalrm(); */
+-EXTER int gc_enabled, saving_system;
++EXTER bool gc_enabled, saving_system;
+ EXTER object lisp_package,user_package;
+ EXTER char *core_end;
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -366,7 +366,7 @@ object funcall_vec(object,fixnum,object
+ /* unixtime.c:173:OF */ extern void gcl_init_unixtime (void); /* () */
+ /* user_init.c:2:OF */ extern object user_init (void); /* () */
+ /* user_init.c:2:OF */ extern int user_match (const char *,int n); /* () */
+-/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler) (/* ??? */)); /* (signo, handler) int signo; void (*handler)(); */
++/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler)(int,long,void *,char *)); /* (signo, handler) int signo; void (*handler)(); */
+ /* usig.c:92:OF */ extern int unblock_signals (int n, int m); /* (n, m) int n; int m; */
+ /* usig.c:119:OF */ extern void unblock_sigusr_sigio (void); /* () */
+ /* usig.c:182:OF */ extern void install_default_signals (void); /* () */
+@@ -1674,3 +1674,6 @@ void stack_list(void);
+ void *msbrk(intptr_t);
+ int msbrk_init(void);
+ int msbrk_end(void);
++
++object
++quick_call_function_vec(object,ufixnum,object *);
+--- gcl27-2.7.1.orig/h/usig.h
++++ gcl27-2.7.1/h/usig.h
+@@ -1,4 +1,4 @@
+-typedef void (*handler_function_type)(int,siginfo_t *,void *);
++typedef void (*handler_function_type)(int,long,void *,char *);
+ EXTER handler_function_type our_signal_handler[32];
+--- gcl27-2.7.1.orig/install-sh
++++ gcl27-2.7.1/install-sh
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # install - install a program, script, or datafile
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+ # This originates from X11R5 (mit/util/scripts/install.sh), which was
+ # later released in X11R6 (xc/config/util/install.sh) with the
+@@ -533,9 +533,9 @@ do
+ done
+ # Local variables:
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/lsp/gcl_deftype.lsp
++++ gcl27-2.7.1/lsp/gcl_deftype.lsp
+@@ -6,7 +6,7 @@
+         non-negative-short-float negative-long-float positive-long-float
+         non-positive-long-float non-negative-long-float negative-float
+         positive-float non-positive-float non-negative-float negative-real
+-        positive-real non-positive-real non-negative-real complex*
++        positive-real non-positive-real non-negative-real complex* pathname-designator
+         complex-integer complex-integer-ratio complex-ratio-integer seqind seqbnd
+         complex-ratio complex-short-float complex-long-float make-complex unordered));FIXME
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -49,11 +49,16 @@
+                              (expand-wild-directory d (cons :relative (cdr x)) f q e)) :directory));FIXME
+           ((funcall f z y))))))
+-(defun directory (p &key &aux (p (translate-logical-pathname p))(d (pathname-directory p))
+-                  (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
+-                  (lc (when c (length c)))
+-                  (filesp (or (pathname-name p) (pathname-type p)))
+-                  (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
++(defun directory (p &key &aux (p (merge-pathnames (translate-logical-pathname p)
++                                                #.`(load-time-value
++                                                    (make-pathname
++                                                     ,@(mapcan (lambda (x) (list x (if (eq x :directory) `'(:relative) :unspecific)))
++                                                               +pathname-keys+)))))
++                         (d (pathname-directory p))
++                         (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
++                         (lc (when c (length c)))
++                         (filesp (or (pathname-name p) (pathname-type p)))
++                         (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
+   (expand-wild-directory (pathname-device p) d
+    (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
+      (if filesp
+--- gcl27-2.7.1.orig/lsp/gcl_logical_pathname_translations.lsp
++++ gcl27-2.7.1/lsp/gcl_logical_pathname_translations.lsp
+@@ -24,5 +24,5 @@
+     (error "No translations found for ~s" k)))
+ (defun logical-pathname-host-p (host)
+-  (when host
++  (when (stringp host)
+     (logical-pathname-translations host)))
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -47,7 +47,8 @@
+ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
+                                           ("" "" "" "")
+-                                          ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
++                                          ("" "(/?([^/]*/)*)" "" "" "" "([^/]*/)" "/" "/")
++;                                         ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
+                                           ("" "([^/.]*)" "" ".")
+                                           ("." "(\\.[^/]*)?" "" "")
+                                           ("" "" "" "")))
+@@ -88,7 +89,8 @@
+       ((eql :wild) (if rp (list dflt) (elsub "*" x rp lp)))
+       ((eql :newest) (elsub (if rp "(newest|NEWEST)" "NEWEST") x rp lp))
+       ((member :up :back) (elsub ".." x rp lp))
+-      ((member nil :unspecific) (when rp (list dflt)))
++      (null (when rp (list dflt)))
++      ((eql :unspecific) nil)
+       (cons (cons
+            (if (eq (car el) :absolute) (if lp "" "/") (if lp ";" ""))
+            (mapcan (lambda (z) (elsub z y rp lp)) (cdr el)))))
+@@ -103,15 +105,17 @@
+                x (if lp +logical-pathname-defaults+ +physical-pathname-defaults+))))
+ (defun directory-list-check (l)
+-  (when (listp l)
+-    (when (member (car l) '(:absolute :relative))
+-      (mapl (lambda (x &aux (c (car x))(d (cadr x)))
+-            (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
+-              (return-from directory-list-check nil))) l))))
++  (if (atom l) l
++      (when (member (car l) '(:absolute :relative))
++      (mapl (lambda (x &aux (c (car x))(d (cadr x)))
++              (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
++                (return-from directory-list-check nil)))
++            l))))
+     
+ (defun canonicalize-pathname-directory (l)
+   (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
+       ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
++      ((eq l :unspecific) l)
+       ((mapl (lambda (x &aux (c (car x))
+                           (skip (cond ((equal c ".") (cdr x))
+                                       ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
+--- gcl27-2.7.1.orig/lsp/gcl_merge_pathnames.lsp
++++ gcl27-2.7.1/lsp/gcl_merge_pathnames.lsp
+@@ -11,7 +11,7 @@
+      :host (or (pathname-host pn) (def (pathname-host def-pn)))
+      :device (or (pathname-device pn) (def (pathname-device def-pn)))
+      :directory (let ((d (pathname-directory pn))(defd (pathname-directory def-pn)))
+-                (or (def (when (and defd (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
++                (or (def (when (and defd (listp d) (listp defd) (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
+      :name (or (pathname-name pn) (def (pathname-name def-pn)))
+      :type (or (pathname-type pn) (def (pathname-type def-pn)))
+      :version (or (pathname-version pn) (def (unless (pathname-name pn) (pathname-version def-pn))) (def def-v))
+--- gcl27-2.7.1.orig/lsp/gcl_mislib.lsp
++++ gcl27-2.7.1/lsp/gcl_mislib.lsp
+@@ -104,9 +104,6 @@
+   (decode-universal-time (get-universal-time)))
+ ;Courtesy Paul Dietz
+-(defun compile-file-pathname (pathname)
+-  (declare (optimize (safety 2)))
+-  (make-pathname :defaults pathname :type "o"))
+ (defun constantly (x)
+   (declare (optimize (safety 2)))
+--- gcl27-2.7.1.orig/lsp/gcl_seqlib.lsp
++++ gcl27-2.7.1/lsp/gcl_seqlib.lsp
+@@ -384,17 +384,17 @@
+                 (push ns ii) (push ns1 ii))
+               (setq ls nls fi nfi))))))))
+-
+ (defun stable-sort (sequence predicate &key key)
+   (declare (optimize (safety 1)))
+   (check-type sequence proper-sequence)
+-  (typecase 
+-   sequence
+-   (list (list-merge-sort sequence predicate key))
+-   (string (sort sequence predicate :key key))
+-   (bit-vector (sort sequence predicate :key key))
+-   (otherwise 
+-    (replace sequence (list-merge-sort (coerce sequence 'list) predicate key)))))
++  (if (listp sequence)
++      (list-merge-sort sequence predicate key)
++      (let (r rp)
++      (dotimes (i (length sequence))
++        (let ((tmp (cons (aref sequence i) nil)))
++          (declare (dynamic-extent tmp))
++          (setq rp (if rp (cdr (rplacd rp tmp)) (setq r tmp)))))
++      (replace sequence (list-merge-sort r predicate key)))))
+ (eval-when (compile eval)
+   (defmacro f+ (x y) `(the fixnum (+ (the fixnum ,x) (the fixnum ,y))))
+--- gcl27-2.7.1.orig/missing
++++ gcl27-2.7.1/missing
+@@ -1,11 +1,11 @@
+ #! /bin/sh
+ # Common wrapper for a few potentially missing GNU and other programs.
+-scriptversion=2024-06-07.14; # UTC
++scriptversion=2025-06-18.21; # UTC
+ # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+ # This program is free software; you can redistribute it and/or modify
+@@ -228,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING:
+ exit $st
+ # Local variables:
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/o/character.d
++++ gcl27-2.7.1/o/character.d
+@@ -108,9 +108,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
+       If r > 36 or i is not a digit, -1 is returned.
+ */
+ int
+-digitp(i, r)
+-int i, r;
+-{
++digitp(int i,int r) {
++
+       if ('0' <= i && i <= '9' && 1 < r && i < '0' + r)
+               return(i - '0');
+       if ('A' <= i && 10 < r && r <= 36 && i < 'A' + (r - 10))
+@@ -149,9 +148,8 @@ int i, r;
+ @)
+ bool
+-char_eq(x, y)
+-object x, y;
+-{
++char_eq(object x,object y) {
++
+       return(char_code(x) == char_code(y)
+           && char_bits(x) == char_bits(y)
+           && char_font(x) == char_font(y));
+@@ -186,9 +184,8 @@ object x, y;
+ static int
+-char_cmp(x, y)
+-object x, y;
+-{
++char_cmp(object x,object y) {
++
+       if (char_font(x) < char_font(y))
+               return(-1);
+       if (char_font(x) > char_font(y))
+@@ -205,9 +202,8 @@ object x, y;
+ }
+ static void
+-Lchar_cmp(s, t)
+-int s, t;
+-{
++Lchar_cmp(int s,int t) {
++
+       int narg, i;
+       narg = vs_top - vs_base;
+@@ -232,9 +228,8 @@ LFD(Lchar_ge)() { Lchar_cmp(-1, 0); }
+ bool
+-char_equal(x, y)
+-object x, y;
+-{
++char_equal(object x,object y) {
++
+       int i, j;
+       i = char_code(x);
+@@ -273,9 +268,8 @@ object x, y;
+ static int
+-char_compare(x, y)
+-object x, y;
+-{
++char_compare(object x,object y) {
++
+       int i, j;
+       i = char_code(x);
+@@ -293,9 +287,8 @@ object x, y;
+ }
+ static void
+-Lchar_compare(s, t)
+-int s, t;
+-{
++Lchar_compare(int s,int t) {
++
+       int narg, i;
+       narg = vs_top - vs_base;
+@@ -320,9 +313,8 @@ LFD(Lchar_not_lessp)()    { Lchar_compar
+ object
+-coerce_to_character(x)
+-object x;
+-{
++coerce_to_character(object x) {
++
+ BEGIN:
+       switch (type_of(x)) {
+       case t_fixnum:
+@@ -408,9 +400,8 @@ BEGIN:
+ @)
+ int
+-digit_weight(w, r)
+-int w, r;
+-{
++digit_weight(int w,int r) {
++
+       if (r < 2 || r > 36 || w < 0 || w >= r)
+               return(-1);
+       if (w < 10)
+--- gcl27-2.7.1.orig/o/cmac.c
++++ gcl27-2.7.1/o/cmac.c
+@@ -55,9 +55,9 @@ dblrem(int a, int b, int mod)
+ #else
+ static int
+-dblrem(a,b,mod)
+-int a,b,mod;
+-{int h,sign;
++dblrem(int a,int b,int mod) {
++
++ int h,sign;
+  if (a<0) 
+    {a= -a; sign= (b<0)? (b= -b,1) :-1;}
+  else { sign= (b<0) ? (b= -b,-1) : 1;}
+--- gcl27-2.7.1.orig/o/eval.c
++++ gcl27-2.7.1/o/eval.c
+@@ -66,15 +66,6 @@ object sSAbreak_stepA;
+   ({enum ftype _t=type;\
+      _t==f_object ? a : (_t==f_fixnum ? make_fixnum((fixnum)a) : make_integer((GEN)a));})
+-#include "apply_n.h"
+-
+-static object
+-quick_call_function_vec(object fun,ufixnum n,object *b) {
+-
+-  return c_apply_n_fun(fun,n,b);
+-
+-}
+-
+ static object
+ quick_call_function_vec_coerce(object fun,ufixnum n,object *b) {
+@@ -704,7 +695,7 @@ APPLICATION:
+               ihs_check;
+               ihs_push(form);
+               ihs_top->ihs_base = lex_env;
+-              ((void (*)())fun->s.s_sfdef)(MMcdr(form));
++              ((void (*)(object))fun->s.s_sfdef)(MMcdr(form));
+               CHECK_AVMA;
+               ihs_pop();
+               return;
+--- gcl27-2.7.1.orig/o/fasdump.c
++++ gcl27-2.7.1/o/fasdump.c
+@@ -29,7 +29,7 @@ static void
+ clrhash(object);
+-object coerce_stream();
++object coerce_stream(object,int);
+ static object fasd_patch_sharp(object x, int depth);
+ object make_pathname ();
+--- gcl27-2.7.1.orig/o/file.d
++++ gcl27-2.7.1/o/file.d
+@@ -106,9 +106,7 @@ object LSP_string;
+ object sSAignore_eof_on_terminal_ioA;
+ static bool
+-feof1(fp)
+-FILE *fp;
+-{
++feof1(FILE *fp) {
+ #ifdef USE_READLINE
+   if (readline_on && fp==rl_instream && rl_line_buffer && *rl_line_buffer==EOF)
+@@ -199,9 +197,8 @@ DEFUN("TERMINAL-INPUT-STREAM-P",object,f
+       but only checks the mode of the stream (sm_mode).
+ */
+ static bool
+-input_stream_p(strm)
+-object strm;
+-{
++input_stream_p(object strm) {
++
+ BEGIN:
+       switch (strm->sm.sm_mode) {
+       case smm_input:
+@@ -256,9 +253,8 @@ BEGIN:
+       but only checks the mode of the stream (sm_mode).
+ */
+ static bool
+-output_stream_p(strm)
+-object strm;
+-{
++output_stream_p(object strm) {
++
+ BEGIN:
+       switch (strm->sm.sm_mode) {
+       case smm_input:
+@@ -306,9 +302,8 @@ BEGIN:
+ }
+ static object
+-stream_element_type(strm)
+-object strm;
+-{
++stream_element_type(object strm) {
++
+       object x;
+ BEGIN:
+@@ -656,9 +651,8 @@ fLinteractive_stream_p(object x) {
+ #endif
+ object
+-make_two_way_stream(istrm, ostrm)
+-object istrm, ostrm;
+-{
++make_two_way_stream(object istrm,object ostrm) {
++
+       object strm;
+       strm = alloc_object(t_stream);
+@@ -673,9 +667,8 @@ object istrm, ostrm;
+ }
+ static object
+-make_echo_stream(istrm, ostrm)
+-object istrm, ostrm;
+-{
++make_echo_stream(object istrm,object ostrm) {
++
+       object strm;
+       strm = make_two_way_stream(istrm, ostrm);
+@@ -764,9 +757,8 @@ DEFUN("STRING-OUTPUT-STREAM-P",object,fS
+ }
+ object
+-make_string_output_stream(line_length)
+-int line_length;
+-{
++make_string_output_stream(int line_length) {
++
+       object strng, strm;
+       vs_mark;
+@@ -786,9 +778,8 @@ int line_length;
+ }
+ static object
+-get_output_stream_string(strm)
+-object strm;
+-{
++get_output_stream_string(object strm) {
++
+       object strng;
+       strng = copy_simple_string(STRING_STREAM_STRING(strm));
+@@ -803,9 +794,8 @@ cannot_read(object);
+ static void
+ closed_stream(object);
\fint
+-readc_stream(strm)
+-object strm;
+-{
++readc_stream(object strm) {
++
+       int c;
+ BEGIN:
+@@ -1515,9 +1505,8 @@ BEGIN:
+ }
+ int
+-file_position(strm)
+-object strm;
+-{
++file_position(object strm) {
++
+ BEGIN:
+       switch (strm->sm.sm_mode) {
+       case smm_input:
+@@ -1564,10 +1553,8 @@ BEGIN:
+ }
+ int
+-file_position_set(strm, disp)
+-object strm;
+-int disp;
+-{
++file_position_set(object strm,int disp) {
++
+ BEGIN:
+       switch (strm->sm.sm_mode) {
+       case smm_socket:
+@@ -1615,9 +1602,8 @@ BEGIN:
+ }
+ static int
+-file_length(strm)
+-object strm;
+-{
++file_length(object strm) {
++
+  BEGIN:
+       switch (strm->sm.sm_mode) {
+       case smm_input:
+@@ -2243,30 +2229,22 @@ LFD(siLcopy_stream)()
+ }
+ static void
+-cannot_open(fn)
+-object fn;
+-{
++cannot_open(object fn) {
+       FILE_ERROR(fn,"Cannot open");
+ }
+ static void
+-cannot_create(fn)
+-object fn;
+-{
++cannot_create(object fn) {
+       FILE_ERROR(fn,"Cannot create");
+ }
+ static void
+-cannot_read(strm)
+-object strm;
+-{
++cannot_read(object strm) {
+       FEerror("Cannot read the stream ~S.", 1, strm);
+ }
+ static void
+-cannot_write(strm)
+-object strm;
+-{
++cannot_write(object strm) {
+       FEerror("Cannot write to the stream ~S.", 1, strm);
+ }
+@@ -2285,9 +2263,8 @@ FFN(siLuser_stream_state)()
+ #endif
+ static void
+-closed_stream(strm)
+-object strm;
+-{
++closed_stream(object strm) {
++
+   if (!GET_STREAM_FLAG(strm,gcl_sm_had_error))
+     {
+         SET_STREAM_FLAG(strm,gcl_sm_had_error,1);
+@@ -2308,10 +2285,8 @@ object strm;
+    */
+ object
+-coerce_stream(strm,out)
+-object strm;
+-int out;
+-{
++coerce_stream(object strm,int out) {
++
+  BEGIN:
+  if (type_of(strm) != t_stream)
+    FEwrong_type_argument(sLstream, strm);
+@@ -2416,10 +2391,8 @@ DEFUN("FREAD",object,fSfread,SI,4,4,NONE
+   of the buffer may be changed.
+  */
+ static void
+-putCharGclSocket(strm,ch)
+-  object strm;
+-  int ch;
+-{
++putCharGclSocket(object strm,int ch) {
++
+   object bufp = SOCKET_STREAM_BUFFER(strm);
+  AGAIN:
+@@ -2435,10 +2408,8 @@ putCharGclSocket(strm,ch)
+ }
+ static void
+-gclFlushSocket(strm)
+-     object strm;
++gclFlushSocket(object strm) {
+-{
+     int fd = SOCKET_STREAM_FD(strm);
+     object bufp = SOCKET_STREAM_BUFFER(strm);
+     int i=0;
+@@ -2470,14 +2441,8 @@ gclFlushSocket(strm)
+ static
+ object
+-make_socket_stream(fd,mode,server,host,port,async)
+-int fd;
+-enum gcl_sm_flags mode;
+-object server;
+-object host;
+-object port;
+-object async;
+-{
++make_socket_stream(int fd,enum gcl_sm_flags mode,object server,object host,object port,object async) {
++
+   object x;
+   if (fd < 0 )
+    {
+--- gcl27-2.7.1.orig/o/format.c
++++ gcl27-2.7.1/o/format.c
+@@ -52,7 +52,7 @@ static void
+ fmt_semicolon(bool,bool);
+ static void
+-fmt_up_and_out(bool,bool);
++fmt_up_and_out(int,bool);
+ static void
+ fmt_justification(volatile bool,bool);
+@@ -347,7 +347,8 @@ format(object fmt_stream0, int ctl_origi
+ {
+       int c, n;
+       fixnum i,j,sn;
+-      bool colon, atsign;
++      int colon;
++      bool atsign;
+       object x;
+       fmt_paramp = fmt_param;
+@@ -2640,7 +2641,7 @@ fmt_justification(volatile bool colon, b
+ static void
+-fmt_up_and_out(bool colon, bool atsign)
++fmt_up_and_out(int colon, bool atsign)
+ {
+   fixnum j,n;
+   object x[3];
+@@ -2720,7 +2721,8 @@ DEFUN("FORMAT",object,fLformat,LISP,2,F_
+   va_list ap; 
+   VOL object x = OBJNULL;
+   jmp_buf fmt_jmp_buf0;
+-  bool colon, e;
++  int colon;
++  bool e;
+   VOL fixnum nargs=INIT_NARGS(2);
+   
+   fmt_old;
+--- gcl27-2.7.1.orig/o/funlink.c
++++ gcl27-2.7.1/o/funlink.c
+@@ -225,8 +225,6 @@ clean_link_array(object *ar, object *ar_
+   return(i*sizeof(object *));
+ }
+-#include "apply_n.h"    
+-
+ DEFVAR("*FAST-LINK-WARNINGS*",sSAfast_link_warningsA,SI,Cnil,"");
+ #include "pbits.h"
+@@ -242,15 +240,14 @@ typedef union {
+   fw f;
+ } fu;
++
+ object
+-call_proc_new(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,va_list ll) {
++call_proc_new23(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object *x) {
+   object fun;
+   enum type tp;
+   ufixnum margs,nargs,fas,do_link,varg,pushed=0,nfargs;
+   fixnum vald;
+-  object *tmp,*x/* ,*p */;
+-  int i;
+   fu u;
+   if (type_of(sym)==t_symbol) {
+@@ -262,7 +259,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+   tp=type_of(fun);
+   u.i=vld;
+-  
++
+   /* p=0; */
+   if (u.f.pu) {
+     u.f.ma=vs_top-vs_base;
+@@ -270,22 +267,12 @@ call_proc_new(object sym,ufixnum clp,ufi
+     /* p=vs_base; */
+     pushed=1;
+   }
+-  
++
+   margs=u.f.ma;
+   varg=u.f.va;
+   nargs=u.f.va ? abs(VFUN_NARGS) : margs;
+   nfargs=u.f.va && VFUN_NARGS<0 ? nargs-1 : nargs;
+   vald=!u.f.vv ? -(fixnum)u.f.nv : u.f.nv;
+-  
+-  x=tmp=(u.f.pu && !fun->fun.fun_argd && VFUN_NARGS>=fun->fun.fun_minarg) ? 
+-    vs_base : ZALLOCA(nargs*sizeof(object));
+-  
+-  if (tmp!=vs_base) {
+-    if (u.f.pu) 
+-      memcpy(tmp,vs_base,nargs*sizeof(*tmp));
+-    else for (i=0;i<nargs;i++)
+-         *x++=(i || u.f.nf) ? va_arg(ll,object) : first;
+-  }
+   /*FIXME: Problem here relying on VFUN_NARGS or fcall.fun or FUN_VALP might foil sharing these links in different contexts*/
+   /*links currently shared by rt at clp apnarg, so VFUN_NARGS<0 is safe*/
+@@ -341,7 +328,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+   }
+   if (sSAprofilingA->s.s_dbind!=Cnil)
+-    sSin_call->s.s_gfdef->fun.fun_self(sym);
++    ((object (*)(object))sSin_call->s.s_gfdef->fun.fun_self)(sym);
+   if (fas) {
+@@ -352,12 +339,12 @@ call_proc_new(object sym,ufixnum clp,ufi
+     }
+     if (sSAprofilingA->s.s_dbind!=Cnil)
+-      sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
+-    
+-    return(c_apply_n_fun(fun,x-tmp,tmp));
++      ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
++
++    return(quick_call_function_vec(fun,nargs,x));
+   } else {
+-    
++
+     object res;
+     register object *base,*old_top;
+     enum ftype result_type;
+@@ -370,17 +357,17 @@ call_proc_new(object sym,ufixnum clp,ufi
+     if (vald || u.f.vv) larg=(fixnum)fcall.valp;
+     if (!pushed) {
+-      
++
+       object y;
+-      
++
+       vs_base=vs_top; /*???*/
+       for (i=0;i<nargs;i++) {
+-      
++
+       enum ftype typ;
+-      y=tmp[i];
+-      
++      y=x[i];
++
+       switch((typ=POP_BITS(argd,2))) {
+       case f_fixnum:
+         y=make_fixnum((fixnum)y);
+@@ -388,15 +375,15 @@ call_proc_new(object sym,ufixnum clp,ufi
+       default:
+         break;
+       }
+-      
++
+       vs_push(y);
+-      
++
+       }
+       if (u.f.va && VFUN_NARGS<0)
+       for (y=*--vs_top;y!=Cnil;y=y->c.c_cdr)
+         vs_push(y->c.c_car);
+-      
++
+       vs_check;
+     }
+@@ -404,7 +391,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+     base=vs_base;
+     old_top=vs_top;
+     funcall(fun);
+-    
++
+     res=vs_base[0];
+     if (larg) {
+       object *tmp=vs_base+1,*tl=(void *)larg,*tle=tl+labs(vald);/*FIXME avoid if pushed*/
+@@ -418,7 +405,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+       vs_top=base;
+     for (;--old_top>=vs_top && vs_top>=vs_org;) *old_top=Cnil;
+-    
++
+     switch(result_type) {
+     case f_fixnum:
+       res=(object)fix(res);
+@@ -426,49 +413,29 @@ call_proc_new(object sym,ufixnum clp,ufi
+     default:
+       break;
+     }
+-    
++
+     if (sSAprofilingA->s.s_dbind!=Cnil)
+-      sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
++      ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
+     return res;
+-    
++
+   }
+ }
+-object
+-call_proc_new_nval(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,...) {
+-  object x;
+-  va_list b;
+-  va_start(b,first);
+-  x=call_proc_new(sym,clp,vld,link,argd,first,b);
+-  va_end(b);
+-  return x;
+-}
+-
+-object
+-call_proc_cs1(object fun,...) {
+-  register object res;
+-  ufixnum vald;
+-  va_list ap;
+-  va_start(ap,fun);
+-  vald=((31<<12)|(1<<17)|(1<<18)|(1<<20));
+-  res=call_proc_new(fun,1,vald,0,0,0,ap);
+-  va_end(ap);
+-  return res;
+-}
+-
+ object
+ call_proc_cs2(object first,...) {
+-  register object res;
+-  ufixnum vald;
++
++  int i,nargs=abs(VFUN_NARGS);
++  object *x=alloca(nargs*sizeof(*x));
+   va_list ap;
+-  object fun=fcall.fun;
++
+   va_start(ap,first);
+-  vald=((31<<12)|(1<<17)|(1<<18));
+-  res=call_proc_new(fun,1,vald,0,0,first,ap);
++  for (i=0;i<nargs;i++) x[i]=i ? va_arg(ap,object) : first;
+   va_end(ap);
+-  return res;
++
++  return call_proc_new23(fcall.fun,1,((31<<12)|(1<<17)|(1<<18)),0,0,x);
++
+ }
+--- gcl27-2.7.1.orig/o/gmp_big.c
++++ gcl27-2.7.1/o/gmp_big.c
+@@ -526,16 +526,16 @@ integer_quotient_remainder_1(object x, o
+     if (qp) {
+       if (rp) {
+-      void (*f)()=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
++      void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
+       f(MP(big_fixnum3),MP(big_fixnum4),b1,b2);
+       *rp=maybe_replace_big(big_fixnum4);
+       } else {
+-      void (*f)()=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
++      void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
+       f(MP(big_fixnum3),b1,b2);
+       }
+       *qp=maybe_replace_big(big_fixnum3);
+     } else if (rp) {
+-      void (*f)()=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
++      void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
+       f(MP(big_fixnum4),b1,b2);
+       *rp=maybe_replace_big(big_fixnum4);
+     }
+--- gcl27-2.7.1.orig/o/list.d
++++ gcl27-2.7.1/o/list.d
+@@ -32,9 +32,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
+ object
+-car(x)
+-object x;
+-{
++car(object x) {
++
+       if (x == Cnil)
+               return(x);
+       if (consp(x))
+@@ -44,9 +43,8 @@ object x;
+ }
+ object
+-cdr(x)
+-object x;
+-{
++cdr(object x) {
++
+       if (x == Cnil)
+               return(x);
+       if (consp(x))
+@@ -192,9 +190,8 @@ append(object x, object y) {
+ }
+ object
+-copy_list(x)
+-object x;
+-{
++copy_list(object x) {
++
+       object y;
+       if (!consp(x))
+@@ -277,10 +274,10 @@ stack_list(void) {
+ }
+  
+-object on_stack_make_list(n)
+-int n;
+-{ object res=(object) alloca_val;
+- struct cons *p = (struct cons *)res;
++object on_stack_make_list(int n) {
++
++  object res=(object) alloca_val;
++  struct cons *p = (struct cons *)res;
+  if (n<=0) return Cnil;
+   TOP:
+ #ifdef WIDE_CONS
+@@ -315,9 +312,8 @@ DEFUN("RPLACD",object,fLrplacd,LISP,2,2,
+  
+ void
+-check_proper_list(alist)
+-object alist;
+-{
++check_proper_list(object alist) {
++
+     object v;
+     /*
+     if (alist == Cnil)
+@@ -336,9 +332,7 @@ DEFUN("PROPER-LISTP",object,fSproper_lis
+ bool
+-member_eq(x, l)
+-object x, l;
+-{
++member_eq(object x,object l) {
+       for (;  consp(l);  l = l->c.c_cdr)
+               if (x == l->c.c_car)
+@@ -347,9 +341,8 @@ object x, l;
+ }
+ void
+-delete_eq(x, lp)
+-object x, *lp;
+-{
++delete_eq(object x,object *lp) {
++
+       for (;  consp(*lp);  lp = &(*lp)->c.c_cdr)
+               if ((*lp)->c.c_car == x) {
+                       *lp = (*lp)->c.c_cdr;
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -76,7 +76,7 @@ char stderr_buf[BUFSIZ + EXTRA_BUFSIZE];
+ #include "stacks.h"
+ int debug;                    /* debug switch */
+-int raw_image = TRUE;         /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
++bool raw_image = TRUE;                /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
+ bool GBC_enable=FALSE;
+ long real_maxpage;
+@@ -1434,7 +1434,7 @@ my_fprintf(void *v,const char *f,...) {
+ #ifdef HAVE_FPRINTF_STYLED_FTYPE
+ static int
+-my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
++my_fprintf_styled(void *v,enum disassembler_style s,const char *f,...) {
+   va_list va;
+   int r;
+   va_start(va,f);
+@@ -1463,25 +1463,24 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
+ #if defined(HAVE_DIS_ASM_H) && defined(OUTPUT_ARCH)
+   static disassemble_info i;
+-  void *v;
+-  void * (*s)();
++  void *v,*s;
+   fixnum j,j1,k;
+   object x;
+   if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
+     if ((s=dlsym(v,"init_disassemble_info"))) {
+-      s(&i, stdout,(fprintf_ftype)my_fprintf
+ #ifdef HAVE_FPRINTF_STYLED_FTYPE
+-      ,my_fprintf_styled
++      ((void * (*)(disassemble_info *,FILE *,fprintf_ftype,fprintf_styled_ftype))s)(&i,stdout,my_fprintf,my_fprintf_styled);
++#else
++      ((void * (*)(disassemble_info *,FILE *,fprintf_ftype))s)(&i,stdout,my_fprintf);
+ #endif
+-      );
+       i.read_memory_func=my_read;
+       i.print_address_func=my_pa;
+ #if defined(OUTPUT_MACH)
+       i.mach=OUTPUT_MACH;
+ #endif
+       if ((s=dlsym(v,"disassembler"))) {
+-      disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
++      disassembler_ftype disasm=((disassembler_ftype (*)(int,int,int,void *))s)(OUTPUT_ARCH,0,0,NULL);
+       bp=b;
+       disasm(addr,&i);
+       my_fprintf(NULL," ;");
+--- gcl27-2.7.1.orig/o/package.d
++++ gcl27-2.7.1/o/package.d
+@@ -39,9 +39,8 @@ void check_type_or_symbol_string_package
+ static bool
+-member_string_eq(x, l)
+-object x, l;
+-{
++member_string_eq(object x,object l) {
++
+       for (;  consp(l);  l = l->c.c_cdr)
+               if (string_eq(x, l->c.c_car))
+                       return(TRUE);
+@@ -126,10 +125,7 @@ suitable_package_size(ufixnum n)
+       or package names i.e. strings or symbols.
+ */
+ static object
+-make_package(n, ns, ul,isize,esize)
+-object n, ns, ul;
+-int isize,esize;
+-{
++make_package(object n,object ns,object ul,int isize,int esize) {
+       object x, y;
+       int i;
+@@ -199,10 +195,7 @@ static void
+ use_package(object,object);
+ static object
+-in_package(n, ns, ul,isize,esize)
+-object n, ns, ul;
+-int isize,esize;
+-{
++in_package(object n,object ns,object ul,int isize,int esize) {
+       object x, y;
+       vs_mark;
+@@ -237,9 +230,7 @@ L:
+ }
+ static object
+-rename_package(x, n, ns)
+-object x, n, ns;
+-{
++rename_package(object x,object n,object ns) {
+       object y;
+       vs_mark;
+@@ -278,9 +269,8 @@ object x, n, ns;
+       If not so, an error is signaled.
+ */
+ object
+-find_package(n)
+-object n;
+-{
++find_package(object n) {
++
+       struct package *p;
+       check_package_designator(n);
+@@ -291,9 +281,8 @@ object n;
+ }
+ static object
+-coerce_to_package(p)
+-object p;
+-{
++coerce_to_package(object p) {
++
+       object pp;
+       if (type_of(p) == t_package)
+@@ -327,9 +316,9 @@ current_package()
+ */
+ int
+-pack_hash(x)
+-object x;
+-{unsigned int h=0;
++pack_hash(object x) {
++
++  unsigned int h=0;
+   x=coerce_to_string(x);
+   {int len=VLEN(x);
+   char *s;
+@@ -393,9 +382,8 @@ DEFUN("PACKAGE-EXTERNAL_SIZE",object,fSp
+       Intern(st, p) interns string st in package p.
+ */
+ object
+-intern(st, p)
+-object st, p;
+-{
++intern(object st,object p) {
++
+       int j;
+       object x, *ip, *ep, l, ul;
+       vs_mark;
+@@ -450,9 +438,8 @@ object st, p;
+       Find_symbol(st, p) searches for string st in package p.
+ */
+ object
+-find_symbol(st, p)
+-object st, p;
+-{
++find_symbol(object st,object p) {
++
+       int j;
+       object *ip, *ep, l, ul;
+       {BEGIN_NO_INTERRUPT;
+@@ -483,9 +470,8 @@ object st, p;
+ }}
+ static bool
+-unintern(s, p)
+-object s, p;
+-{
++unintern(object s,object p) {
++
+       object x, y, l, *lp;
+       int j;
+       {BEGIN_NO_INTERRUPT;
+@@ -533,9 +519,8 @@ UNINTERN:
+ }}
+ void
+-export(s, p)
+-object s, p;
+-{
++export(object s,object p) {
++
+       object x;
+       int j;
+       object *ep, *ip, l;
+@@ -578,9 +563,8 @@ BEGIN:
+ }
+ static void
+-unexport(s, p)
+-object s, p;
+-{
++unexport(object s,object p) {
++
+       object x, *ep, *ip;
+       int j;
+@@ -609,9 +593,8 @@ object s, p;
+ }
+ void
+-import(s, p)
+-object s, p;
+-{
++import(object s,object p) {
++
+       object x;
+       int j;
+       object *ip;
+@@ -635,9 +618,8 @@ object s, p;
+ }
+ static void
+-shadowing_import(s, p)
+-object s, p;
+-{
++shadowing_import(object s,object p) {
++
+       object x, *ip;
+       x=find_symbol(s, p);
+@@ -668,9 +650,8 @@ object s, p;
+ }
+ static void
+-shadow(s, p)
+-object s, p;
+-{
++shadow(object s,object p) {
++
+       int j;
+       object *ip,x;
+@@ -692,9 +673,8 @@ object s, p;
+ }
+ static void
+-use_package(x0, p)
+-object x0, p;
+-{
++use_package(object x0,object p) {
++
+       object x = x0;
+       int i;
+       object y, l;
+@@ -735,9 +715,8 @@ object x0, p;
+ }
+ static void
+-unuse_package(x0, p)
+-object x0, p;
+-{
++unuse_package(object x0,object p) {
++
+       object x = x0;
+  BEGIN:
+--- /dev/null
++++ gcl27-2.7.1/o/pre_qfv.c
+@@ -0,0 +1,98 @@
++#include "include.h"
++#include "arth.h"
++
++#define EMPTY()
++#define DEFER(id) id EMPTY()
++
++#define EVAL(...)     EVAL64(__VA_ARGS__)
++#define EVAL64(...)   EVAL32(EVAL32(__VA_ARGS__))
++#define EVAL32(...)   EVAL16(EVAL16(__VA_ARGS__))
++#define EVAL16(...)   EVAL8(EVAL8(__VA_ARGS__))
++#define EVAL8(...)    EVAL4(EVAL4(__VA_ARGS__))
++#define EVAL4(...)    EVAL2(EVAL2(__VA_ARGS__))
++#define EVAL2(...)    EVAL1(EVAL1(__VA_ARGS__))
++#define EVAL1(...)    __VA_ARGS__
++
++#define minus(a,b) M_ ## a ## _ ## b
++#define MINUS(a,b) minus(a,b)
++#define DEC(n) MINUS(n,1)
++
++#define SECOND(a, b, ...) b
++#define IS_ONE_PROXY(...) SECOND(__VA_ARGS__)
++#define IS_ONE_1 ~, 1
++#define IS_ONE_CHECK(n) IS_ONE_PROXY(Mjoin(IS_ONE_, n), 0)
++
++#define GCNT_0(P,n,m) , DEFER(GCNT_ID)()(P,n,m)
++#define GCNT_1(P,n,m) 
++#define GCNT_ID() GCNT
++
++#define GCNT(P,n,m) P(n,m) Mjoin(GCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define PPP1(n,m) object
++#define PPP2(n,m) x[MINUS(m,n)]
++#define CSTCL(m,n) case n*(MAX_ARGS+1)+m: return ((object (*)(GCNT(PPP1,m,m),...))f)(GCNT(PPP2,n,n));
++
++#define OGCNT_0(P,n,m) DEFER(OGCNT_ID)()(P,n,m)
++#define OGCNT_1(P,n,m) 
++#define OGCNT_ID() OGCNT
++
++#define OGCNT(P,n,m) P(n,m) Mjoin(OGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define OWLK(m,n) OGCNT(CSTCL,m,m)
++
++#define PGCNT_0(P,n,m) DEFER(PGCNT_ID)()(P,n,m)
++#define PGCNT_1(P,n,m) 
++#define PGCNT_ID() PGCNT
++
++#define PGCNT(P,n,m) P(n,m) Mjoin(PGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define IPGCNT(P,n) PGCNT(P,n,n)
++
++ufixnum maxargs_for_awk=MAX_ARGS;
++
++static inline object
++vc_apply_n(void *f, int n, object *x) {
++
++
++  switch (n) {
++
++    case 0*(MAX_ARGS+1)+1: return ((object (*)(object ,...))f)(OBJNULL);
++
++    /*    EVAL(IPGCNT(OWLK,MAX_ARGS)) Too much memory on 32bit systems*/
++    awk_generated_vc_apply_n_lines;
++
++    default: FEerror("vc bar ~s",1,make_fixnum(n));
++
++  }
++
++}
++
++#define RCSTCL(m,n) case m: return ((object (*)(GCNT(PPP1,m,m)))f)(GCNT(PPP2,m,m));
++#define PWLK(m,n) RCSTCL(m,m)
++
++static inline object
++rc_apply_n(void *f, int n, object *x) {
++
++  switch (n) {
++
++    /* EVAL(IPGCNT(PWLK,MAX_ARGS)) Too much memory on 32bit systems*/
++    awk_generated_rc_apply_n_lines;
++
++    default: FEerror("rc bar ~s",1,make_fixnum(n));
++
++  }
++
++}
++
++static inline object
++c_apply_n_fun(object fun,int n,object *b) {
++
++  return fun->fun.fun_minarg<fun->fun.fun_maxarg ?
++    vc_apply_n(fun->fun.fun_self,n*(MAX_ARGS+1)+(fun->fun.fun_minarg ? fun->fun.fun_minarg : 1),b) :
++    rc_apply_n(fun->fun.fun_self,n,b);
++
++}
++
++object
++quick_call_function_vec(object fun,ufixnum n,object *b) {
++
++  return c_apply_n_fun(fun,n,b);
++
++}
+--- gcl27-2.7.1.orig/o/print.d
++++ gcl27-2.7.1/o/print.d
+@@ -156,9 +156,8 @@ static void
+ write_decimal1(int);
+ static void
+-write_decimal(i)
+-int i;
+-{
++write_decimal(int i) {
++
+       if (i == 0) {
+               write_ch('0');
+               return;
+@@ -623,17 +622,15 @@ writec_queue(int c,void *v) {
+ void
+-write_str(s)
+-char *s;
+-{
++write_str(char *s) {
++
+       while (*s != '\0')
+               write_ch(*s++);
+ }
+ static void
+-write_decimal1(i)
+-int i;
+-{
++write_decimal1(int i) {
++
+       if (i == 0)
+               return;
+       write_decimal1(i/10);
+@@ -641,9 +638,8 @@ int i;
+ }
+ static void
+-write_addr(x)
+-object x;
+-{
++write_addr(object x) {
++
+       long i;
+       int j, k;
+@@ -799,11 +795,8 @@ write_unreadable_str(object x,char *str)
+ }
+ static void
+-write_double(d, e, shortp)
+-double d;
+-int e;
+-bool shortp;
+-{
++write_double(double d,int e,bool shortp) {
++
+       int sign;
+       char buff[FPRC+5];
+       int exp;
+@@ -1847,10 +1840,8 @@ travel_find_sharing(object x,object tabl
+ }
+ static bool
+-potential_number_p(strng, base)
+-object strng;
+-int base;
+-{
++potential_number_p(object strng,int base) {
++
+       int i, l, c, dc;
+       char *s;
+--- gcl27-2.7.1.orig/o/read.d
++++ gcl27-2.7.1/o/read.d
+@@ -261,9 +261,8 @@ setup_READ()
+ }
+ object
+-read_char(in)
+-object in;
+-{
++read_char(object in) {
++
+       return(code_char(readc_stream(in)));
+ }
+@@ -286,9 +285,8 @@ read_char_no_echo(object in) {
+ #define       read_char(in)   code_char(readc_stream(in))
+ static void
+-unread_char(c, in)
+-object c, in;
+-{
++unread_char(object c,object in) {
++
+       if (type_of(c) != t_character)
+               FEwrong_type_argument(sLcharacter, c);
+       unreadc_stream(char_code(c), in);
+@@ -299,10 +297,8 @@ object c, in;
+       When pt is TRUE, preceeding whitespaces are ignored.
+ */
+ object
+-peek_char(pt, in)
+-bool pt;
+-object in;
+-{
++peek_char(bool pt,object in) {
++
+       object c;
+       if (pt) {
+@@ -320,9 +316,8 @@ object in;
+               
+ static object
+-read_object_recursive(in)
+-object in;
+-{
++read_object_recursive(object in) {
++
+       VOL object x;
+       bool e;
+@@ -388,9 +383,8 @@ L:
+ object
+-read_object_non_recursive(in)
+-object in;
+-{
++read_object_non_recursive(object in) {
++
+       VOL object x;
+       bool e;
+       object old_READtable;
+@@ -509,9 +503,8 @@ L:
+ */
+ object
+-read_object(in)
+-object in;
+-{
++read_object(object in) {
++
+       object x;
+       object c=Cnil;
+       enum chattrib a;
+@@ -801,10 +794,8 @@ ENDUP:
+       Delim is not included in the string but discarded.
+ */
+ static void
+-read_string(delim, in)
+-int delim;
+-object in;
+-{
++read_string(int delim,object in) {
++
+       int i;
+       object c;
+@@ -828,9 +819,8 @@ object in;
+       and places it in token_buffer.
+ */
+ static void
+-read_constituent(in)
+-object in;
+-{
++read_constituent(object in) {
++
+       int i, j;
+       object c;
+@@ -2159,9 +2149,8 @@ DEFUNM("PARSE-INTEGER-INT",object,fSpars
+ /* } */
+ object
+-read_char1(strm,eof)
+-object strm,eof;
+-{
++read_char1(object strm,object eof) {
++
+   if (strm == Cnil)
+     strm = symbol_value(sLAstandard_inputA);
+   else if (strm == Ct)
+@@ -2340,9 +2329,8 @@ DEFUN("SET-READTABLE-CASE",object,fSset_
+ @)
+ static object
+-string_to_object(x)
+-object x;
+-{
++string_to_object(object x) {
++
+       object in;
+       vs_mark;
+--- gcl27-2.7.1.orig/o/run_process.c
++++ gcl27-2.7.1/o/run_process.c
+@@ -374,10 +374,8 @@ static char *lisp_to_string(object strin
+  * for a service on the same host as the clinet.
+  *
+  */
+-static int open_connection(host,server)
+-char  *host;
+-int   server;
+-{
++static int open_connection(char *host,int server) {
++
+       int res;
+       int pid;
+       int     sock;
+@@ -430,11 +428,8 @@ int       server;
+       return(sock);
+ }
+-object make_stream(host_l,socket,smm)
+-object        host_l;
+-int socket;
+-enum smmode smm;
+-{
++object make_stream(object host_l,int socket,enum smmode smm) {
++
+       char    *mode=NULL;
+       object  stream;
+       FILE    *fp;
+@@ -470,10 +465,8 @@ enum smmode smm;
+ }
+ object
+-make_socket_stream(host_l,port)
+-object        host_l;
+-object        port;
+-{
++make_socket_stream(object host_l,object port) {
++
+       char    *host = lisp_to_string(host_l);
+       object  stream_in;
+       object  stream_out;
+@@ -574,8 +567,6 @@ spawn_process_with_streams(object istrea
+     close(fileno(istream->sm.sm_fp));
+     close(fileno(ostream->sm.sm_fp));
+-    emsg("\n***** Spawning process %s ", pname);
+-
+     errno=0;
+     execvp(pname,argv);
+     _exit(128|(errno&0x7f));
+--- gcl27-2.7.1.orig/o/sequence.d
++++ gcl27-2.7.1/o/sequence.d
+@@ -269,9 +269,8 @@ LFD(Lcopy_seq)()
+ }
+ int
+-length(x)
+-object x;
+-{
++length(object x) {
++
+       int i;
+       switch (type_of(x)) {
+@@ -317,9 +316,8 @@ LFD(Lreverse)()
+ }
+ object
+-reverse(seq)
+-object seq;
+-{
++reverse(object seq) {
++
+       object x, y, *v;
+       int i, j, k;
+@@ -430,9 +428,8 @@ LFD(Lnreverse)()
+ }
+ object /*FIXME boot*/
+-nreverse(seq)
+-object seq;
+-{
++nreverse(object seq) {
++
+       object x, y, z;
+       int i, j, k;
+--- gcl27-2.7.1.orig/o/sockets.c
++++ gcl27-2.7.1/o/sockets.c
+@@ -53,9 +53,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
+ #include <errno.h> 
+-static void write_timeout_error();
+-static void connection_failure();
+-
+ #ifdef __MINGW32__
+ /* Keep track of socket initialisations */
+ int w32_socket_initialisations = 0;
+@@ -554,15 +551,13 @@ DEFUN("CLEAR-CONNECTION-STATE",object,fS
+ #endif
+ static void
+-write_timeout_error(s)
+-     char *s;
+-{FEerror("Write timeout: ~s",1,make_simple_string(s));
++write_timeout_error(char *s) {
++  FEerror("Write timeout: ~s",1,make_simple_string(s));
+ }
+ static void
+-connection_failure(s)
+-     char *s;
+-{FEerror("Connect failure: ~s",1,make_simple_string(s));
++connection_failure(char *s) {
++  FEerror("Connect failure: ~s",1,make_simple_string(s));
+ }
+--- gcl27-2.7.1.orig/o/string.d
++++ gcl27-2.7.1/o/string.d
+@@ -82,9 +82,8 @@ alloc_simple_string(fixnum l) {
+       Make_simple_string(s) makes a simple string from C string s.
+ */
+ object
+-make_simple_string(s)
+-const char *s;
+-{
++make_simple_string(const char *s) {
++
+       int l, i;
+       char *p;
+       object x;
+@@ -103,9 +102,8 @@ const char *s;
+ }
+ object
+-make_string(s)
+-char *s;
+-{
++make_string(char *s) {
++
+       int l, i;
+       char *p;
+       object x;
+@@ -128,9 +126,8 @@ char *s;
+       This correponds to string= (just the string equality).
+ */
+ bool
+-string_eq(x, y)
+-object x, y;
+-{
++string_eq(object x,object y) {
++
+       int i, j;
+@@ -151,9 +148,8 @@ object x, y;
+       (string equality ignoring the case).
+ */
+ bool
+-string_equal(x, y)
+-object x, y;
+-{
++string_equal(object x,object y) {
++
+       int i, j;
+       char *p, *q;
+@@ -178,9 +174,8 @@ object x, y;
+       Copy_simple_string(x) copies string x to a simple string.
+ */
+ object
+-copy_simple_string(x)
+-object x;
+-{
++copy_simple_string(object x) {
++
+       object y;
+       int i;
+       vs_mark;
+@@ -205,9 +200,8 @@ object x;
+ }
+ object
+-copy_string(x)
+-object x;
+-{
++copy_string(object x) {
++
+       object y;
+       int i;
+       vs_mark;
+@@ -238,9 +232,8 @@ object x;
+ }
+ object
+-coerce_to_string(x)
+-object x;
+-{
++coerce_to_string(object x) {
++
+       object y;
+       vs_mark;
+@@ -276,10 +269,8 @@ object x;
+ void
+-get_string_start_end(str, start, end, ps, pe)
+-object str, start, end;
+-int *ps, *pe;
+-{
++get_string_start_end(object str,object start,object end,int *ps,int *pe) {
++
+       if (start == Cnil)
+               *ps = 0;
+       else if (type_of(start) != t_fixnum)
+@@ -458,10 +449,7 @@ LFD(Lstring_not_equal)()   { string_sign
+ @)
+ static bool
+-member_char(c, char_bag)
+-int c;
+-object char_bag;
+-{
++member_char(int c,object char_bag) {
+       int i, f;
+@@ -533,27 +521,24 @@ LFD(Lstring_trim)() { left_trim = right_
+ LFD(Lstring_left_trim)() { left_trim = TRUE; right_trim = FALSE; FFN(Lstring_trim0)(); }
+ LFD(Lstring_right_trim)() { left_trim = FALSE; right_trim = TRUE; FFN(Lstring_trim0)();}
+-static int char_upcase(c, bp)
+-int c, *bp;
+-{
++static int char_upcase(int c,int *bp) {
++
+       if (isLower(c))
+               return(c - ('a' - 'A'));
+       else
+               return(c);
+ }
+-static int char_downcase(c, bp)
+-int c, *bp;
+-{
++static int char_downcase(int c,int *bp) {
++
+       if (isUpper(c))
+               return(c + ('a' - 'A'));
+       else
+               return(c);
+ }
+-static int char_capitalize(c, bp)
+-int c, *bp;
+-{
++static int char_capitalize(int c,int *bp) {
++
+       if (isLower(c)) {
+               if (*bp)
+                       c -= 'a' - 'A';
+@@ -571,7 +556,7 @@ int c, *bp;
+ @(static defun string_case (strng &key start end &aux conv)
+       int s=0, e=0, i;
+-      bool b;
++      int b;
+ @
+       strng = coerce_to_string(strng);
+       get_string_start_end(strng, start, end, &s, &e);
+@@ -590,7 +575,7 @@ LFD(Lstring_capitalize)() { casefun = ch
+ @(static defun nstring_case (strng &key start end)
+       int s=0, e=0, i;
+-      bool b;
++      int b;
+ @
+       check_type_string(&strng);
+       get_string_start_end(strng, start, end, &s, &e);
+--- gcl27-2.7.1.orig/o/symbol.d
++++ gcl27-2.7.1/o/symbol.d
+@@ -40,9 +40,8 @@ odd_plist(object);
+ object siSpname;
+ object
+-make_symbol(st)
+-object st;
+-{
++make_symbol(object st) {
++
+       object x;
+       {BEGIN_NO_INTERRUPT;    
+@@ -70,9 +69,8 @@ object st;
+ object
+-make_ordinary(s)
+-char *s;
+-{
++make_ordinary(char *s) {
++
+       int j;
+       object x, l, *ep;
+       vs_mark;
+@@ -96,10 +94,8 @@ char *s;
+       with initial value v in lisp package.
+ */
+ object
+-make_special(s, v)
+-char *s;
+-object v;
+-{
++make_special(char *s,object v) {
++
+       object x;
+       x = make_ordinary(s);
+@@ -113,10 +109,8 @@ object v;
+       with constant value v in lisp package.
+ */
+ object
+-make_constant(s, v)
+-char *s;
+-object v;
+-{
++make_constant(char *s,object v) {
++
+       object x;
+       x = make_ordinary(s);
+@@ -134,9 +128,8 @@ object v;
+ object
+-make_si_ordinary(s)
+-char *s;
+-{
++make_si_ordinary(char *s) {
++
+       int j;
+       object x, l, *ep;
+       vs_mark;
+@@ -161,9 +154,8 @@ char *s;
+ }
+ object
+-make_gmp_ordinary(s)
+-char *s;
+-{
++make_gmp_ordinary(char *s) {
++
+         int i,j;
+       object x, l, *ep;
+       vs_mark;
+@@ -196,10 +188,8 @@ char *s;
+       with initial value v in system package.
+ */
+ object
+-make_si_special(s, v)
+-char *s;
+-object v;
+-{
++make_si_special(char *s,object v) {
++
+       object x;
+       x = make_si_ordinary(s);
+@@ -213,25 +203,23 @@ object v;
+       with constant value v in system package.
+ */
+ object
+-make_si_constant(s, v)
+-char *s;
+-object v;
+-{
++make_si_constant(char *s,object v) {
++
+       object x;
+       x = make_si_ordinary(s);
+       x->s.s_stype = (short)stp_constant;
+       x->s.s_dbind = v;
+       return(x);
++
+ }
+ /*
+       Make_keyword(s) makes a keyword from C string s.
+ */
+ object
+-make_keyword(s)
+-char *s;
+-{
++make_keyword(char *s) {
++
+       int j;
+       object x, l, *ep;
+       vs_mark;
+@@ -254,9 +242,8 @@ char *s;
+ }
+ object
+-symbol_value(s)
+-object s;
+-{
++symbol_value(object s) {
++
+ /*
+       if (type_of(s) != t_symbol)
+               FEinvalid_variable("~S is not a symbol.", s);
+@@ -267,9 +254,7 @@ object s;
+ }
+ object
+-getf(place, indicator, deflt)
+-object place, indicator, deflt;
+-{
++getf(object place,object indicator,object deflt) {
+       object l;
+ #define cendp(obj) ((!consp(obj)))
+@@ -285,9 +270,8 @@ object place, indicator, deflt;
+ }
+ object
+-get(s, p, d)
+-object s, p, d;
+-{
++get(object s,object p,object d) {
++
+       if (type_of(s) != t_symbol)
+               not_a_symbol(s);
+       return(getf(s->s.s_plist, p, d));
+@@ -298,9 +282,8 @@ object s, p, d;
+       and returns the resulting property list.
+ */
+ object
+-putf(p, v, i)
+-object p, v, i;
+-{
++putf(object p,object v,object i) {
++
+       object l;
+       for (l = p;  !cendp(l);  l = l->c.c_cdr->c.c_cdr) {
+@@ -316,9 +299,8 @@ object p, v, i;
+ }
+ object
+-putprop(s, v, p)
+-object s, v, p;
+-{
++putprop(object s,object v,object p) {
++
+       if (type_of(s) != t_symbol)
+               not_a_symbol(s);
+       s->s.s_plist = putf(s->s.s_plist, v, p);
+@@ -350,9 +332,8 @@ fSsputprop(object x,object y,object z) {
+               FALSE   otherwise.
+ */
+ bool
+-remf(p, i)
+-object *p, i;
+-{
++remf(object *p,object i) {
++
+       object l0 = *p;
+       for(;  !endp(*p);  p = &(*p)->c.c_cdr->c.c_cdr) {
+@@ -367,9 +348,8 @@ object *p, i;
+ }
+ object
+-remprop(s, p)
+-object s, p;
+-{
++remprop(object s,object p) {
++
+       if (type_of(s) != t_symbol)
+               not_a_symbol(s);
+       if (remf(&s->s.s_plist, p))
+@@ -379,9 +359,8 @@ object s, p;
+ }
+ bool
+-keywordp(s)
+-object s;
+-{
++keywordp(object s) {
++
+       return(type_of(s) == t_symbol && s->s.s_hpack == keyword_package);
+ /*
+       if (type_of(s) != t_symbol) {
+@@ -445,11 +424,11 @@ DEFUN("SYMBOL-STRING",object,fSsymbol_st
+ object
+-symbol_name(x)
+-object x;
+-{
++symbol_name(object x) {
++
+  if (type_of(x)!=t_symbol) FEwrong_type_argument(sLsymbol,x);
+  return(x->s.s_name);
++
+ }
+ DEFUN("SYMBOL-NAME",object,fLsymbol_name,LISP,1,1,NONE,OO,OO,OO,OO,(object sym),"") {
+@@ -674,9 +653,7 @@ LFD(siLputprop)()
+ static void
+-odd_plist(place)
+-object place;
+-{
++odd_plist(object place) {
+       FEerror("The length of the property-list ~S is odd.", 1, place);
+ }
+--- gcl27-2.7.1.orig/o/toplevel.c
++++ gcl27-2.7.1/o/toplevel.c
+@@ -188,8 +188,7 @@ FFN(Fload_time_value)(object arg)
+ }
+-static void
+-FFN(Fdeclare)(object arg)
++LFD(Fdeclare)(void)
+ {
+       FEerror("DECLARE appeared in an invalid position.", 0);
+ }
+--- gcl27-2.7.1.orig/o/unexelf.c
++++ gcl27-2.7.1/o/unexelf.c
+@@ -583,9 +583,8 @@ typedef unsigned char byte;
+ /* Round X up to a multiple of Y.  */
+ static ElfW(Addr)
+-round_up (x, y)
+-     ElfW(Addr) x, y;
+-{
++round_up (ElfW(Addr) x,ElfW(Addr) y) {
++
+   int rem = x % y;
+   if (rem == 0)
+     return x;
+--- gcl27-2.7.1.orig/o/usig.c
++++ gcl27-2.7.1/o/usig.c
+@@ -47,11 +47,10 @@ Foundation, 675 Mass Ave, Cambridge, MA
+ extern char signals_handled[];
+-void
+-main_signal_handler(int,siginfo_t,void *);
++extern handler_function_type main_signal_handler;
+ void
+-gcl_signal(int signo, void (*handler) (/* ??? */))
++gcl_signal(int signo, void (*handler)(int,long,void *,char *))
+ {
+   char *p = signals_handled;
+   while (*p)
+@@ -66,7 +65,7 @@ gcl_signal(int signo, void (*handler) (/
+   
+ #ifdef HAVE_SIGACTION
+     struct sigaction action;
+-    action.sa_sigaction = handler;
++    action.sa_sigaction = (void *)handler;
+ /*    action.sa_flags =  SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SV_ONSTACK : 0) */
+    action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SA_ONSTACK : 0)  
+ #ifdef SA_SIGINFO
+@@ -178,7 +177,7 @@ DEFUN("FEENABLEEXCEPT",object,fSfeenable
+ DEFUN("FEDISABLEEXCEPT",object,fSfedisableexcept,SI,0,0,NONE,IO,OO,OO,OO,(void),"") {
+-  fixnum x;
++  fixnum x=0;
+ #ifdef HAVE_FEENABLEEXCEPT
+@@ -228,8 +227,9 @@ DEFUN("STMXCSR",object,fSstmxcsr,SI,0,0,
+ static void
+-sigfpe3(int sig,siginfo_t *i,void *v) {
++sigfpe3(int sig,long li,void *v,char *c) {
++  siginfo_t *i=(void *)li;
+   unblock_signals(SIGFPE,SIGFPE);
+ #ifdef __MINGW32__
+   gcl_signal(SIGFPE,sigfpe3);
+@@ -255,7 +255,7 @@ DEFCONST("+FE-LIST+",sSPfe_listP,SI,list
+ DEF_ORDINARY("FLOATING-POINT-ERROR",sSfloating_point_error,SI,"");
+ static void
+-sigpipe(int s,siginfo_t *a,void *b)
++sigpipe(int s,long la,void *b,char *c)
+ {
+   unblock_signals(SIGPIPE,SIGPIPE);
+   perror("");
+@@ -263,14 +263,14 @@ sigpipe(int s,siginfo_t *a,void *b)
+ }
+ void
+-sigint(int s,siginfo_t *a,void *b)
++sigint(int s,long la,void *b,char *c)
+ {
+   unblock_signals(SIGINT,SIGINT);
+   terminal_interrupt(1);
+ }
+ static void
+-sigalrm(int s,siginfo_t *a,void *b)
++sigalrm(int s,long a,void *b,char *c)
+ {
+   unblock_signals(SIGALRM,SIGALRM);
+   raise_pending_signals(sig_try_to_delay);
+@@ -282,7 +282,7 @@ DEF_ORDINARY("SIGUSR1-INTERRUPT",sSsigus
+ DEF_ORDINARY("SIGIO-INTERRUPT",sSsigio_interrupt,SI,"");
+ static void
+-sigusr1(int s,siginfo_t *a,void *b) {
++sigusr1(int s,long a,void *b,char *c) {
+   unblock_signals(SIGUSR1,SIGUSR1);
+   ifuncall1(sSsigusr1_interrupt,Cnil);
+@@ -290,12 +290,12 @@ sigusr1(int s,siginfo_t *a,void *b) {
+ }
+ static void
+-sigio(int s,siginfo_t *a,void *b)
++sigio(int s,long a,void *b,char *c)
+ {ifuncall1(sSsigio_interrupt,Cnil);}
+ static void
+-sigterm(int s,siginfo_t *a,void *b)
++sigterm(int s,long la,void *b,char *c)
+ {do_gcl_abort();}
+--- gcl27-2.7.1.orig/o/usig2.c
++++ gcl27-2.7.1/o/usig2.c
+@@ -167,7 +167,7 @@ only in very SAFE places.")
+      
+ void
+-main_signal_handler(int signo,siginfo_t *a,void *b)
++main_signal_handler(int signo,long a,void *b,char *c)
+ {  int allowed = signals_allowed;
+ #ifdef NEED_TO_REINSTALL_SIGNALS
+        signal(signo,main_signal_handler);
+@@ -201,7 +201,7 @@ invoke_handler(int signo, int allowed)
+  {int prev_in_handler = in_signal_handler;
+   in_signal_handler |= (allowed <= sig_normal ? 1 : 0);
+   signals_allowed = allowed;
+-  our_signal_handler[signo](signo,0,0);
++  our_signal_handler[signo](signo,0,0,0);
+   signals_allowed = 0;
+   in_signal_handler = prev_in_handler;
+   after_interrupt(&buf,allowed); 
+--- gcl27-2.7.1.orig/texinfo.tex
++++ gcl27-2.7.1/texinfo.tex
+@@ -1,11 +1,11 @@
+ % texinfo.tex -- TeX macros to handle Texinfo files.
+-%
++% 
+ % Load plain if necessary, i.e., if running under initex.
+ \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+ %
+-\def\texinfoversion{2024-02-10.22}
++\def\texinfoversion{2025-10-25.20}
+ %
+-% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
++% Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc.
+ %
+ % This texinfo.tex file is free software: you can redistribute it and/or
+ % modify it under the terms of the GNU General Public License as
+@@ -156,8 +156,9 @@
+ % Give the space character the catcode for a space.
+ \def\spaceisspace{\catcode`\ =10\relax}
+-% Likewise for ^^M, the end of line character.
+-\def\endlineisspace{\catcode13=10\relax}
++% Used to ignore an active newline that may appear immediately after
++% a macro name.
++{\catcode13=\active \gdef\ignoreactivenewline{\let^^M\empty}}
+ \chardef\dashChar  = `\-
+ \chardef\slashChar = `\/
+@@ -212,7 +213,7 @@
+ % @errormsg{MSG}.  Do the index-like expansions on MSG, but if things
+ % aren't perfect, it's not the end of the world, being an error message,
+ % after all.
+-%
++% 
+ \def\errormsg{\begingroup \indexnofonts \doerrormsg}
+ \def\doerrormsg#1{\errmessage{#1}}
+@@ -286,7 +287,6 @@
+ % Avoid "undefined control sequence" errors.
+ \def\currentchapterdefs{}
+ \def\currentsectiondefs{}
+-\def\currentsection{}
+ \def\prevchapterdefs{}
+ \def\prevsectiondefs{}
+ \def\currentcolordefs{}
+@@ -425,7 +425,7 @@
+   }%
+ }
+-% First remove any @comment, then any @c comment.  Pass the result on to
++% First remove any @comment, then any @c comment.  Pass the result on to 
+ % \argremovespace.
+ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+ \def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm}
+@@ -483,8 +483,8 @@
+ %   \envdef\foo{...}
+ %   \def\Efoo{...}
+ %
+-% It's the responsibility of \envdef to insert \begingroup before the
+-% actual body; @end closes the group after calling \Efoo.  \envdef also
++% \envdef inserts \begingroup before the actual body; @end calls
++% \Efoo then closes the group with \endgroup.  \envdef also
+ % defines \thisenv, so the current environment is known; @end checks
+ % whether the environment name matches.  The \checkenv macro can also be
+ % used to check whether the current environment is the one expected.
+@@ -951,8 +951,16 @@ where each line of input produces a line
+ \let\setfilename=\comment
+ % @bye.
+-\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend}
+-
++\outer\def\bye{%
++  \chappager\pagelabels
++  % possibly set in \printindex
++  \ifx\byeerror\relax\else\errmessage{\byeerror}\fi
++  \tracingstats=1\ptexend}
++
++% set in \donoderef below, but we need to define this here so that
++% conditionals balance inside the large \ifpdf ... \fi blocks below.
++\newif\ifnodeseen
++\nodeseenfalse
+ \message{pdf,}
+ % adobe `portable' document format
+@@ -971,15 +979,52 @@ where each line of input produces a line
+ \newif\ifpdf
+ \newif\ifpdfmakepagedest
++% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
++% can be set).  So we test for \relax and 0 as well as being undefined.
++\ifx\pdfoutput\thisisundefined
++\else
++  \ifx\pdfoutput\relax
++  \else
++    \ifcase\pdfoutput
++    \else
++      \pdftrue
++    \fi
++  \fi
++\fi
++
++\newif\ifxetex
++\ifx\XeTeXrevision\thisisundefined\else
++  \xetextrue
++\fi
++
++\newif\ifluatex
++\ifx\luatexversion\thisisundefined\else
++  \luatextrue
++  \ifnum\luatexversion>84
++    \pdftrue
++  \fi
++\fi
++
++\newif\ifpdforxetex
++\ifpdf
++  \pdforxetextrue
++\fi
++\ifxetex
++  \pdforxetextrue
++\fi
++
++
++
++% Whether to use non-ASCII bytes in internal link targets.  Presently this
++% is almost always on.
++\newif\iftxiuseunicodedestname
++\txiuseunicodedestnametrue
++
+ %
+ % For LuaTeX
+ %
+-\newif\iftxiuseunicodedestname
+-\txiuseunicodedestnamefalse % For pdfTeX etc.
+-
+-\ifx\luatexversion\thisisundefined
+-\else
++\ifluatex
+   % Use Unicode destination names
+   \txiuseunicodedestnametrue
+   % Escape PDF strings with converting UTF-16 from UTF-8
+@@ -1026,13 +1071,13 @@ where each line of input produces a line
+         end
+       end
+     }
+-    % The -2 in the arguments here gives all the input to TeX catcode 12
+-    % (other) or 10 (space), preventing undefined control sequence errors. See
++    % The -2 in the arguments here gives all the input to TeX catcode 12 
++    % (other) or 10 (space), preventing undefined control sequence errors. See 
+     % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
+     %
+   \endgroup
+   \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
+-  \ifnum\luatexversion>84
++  \ifpdf
+     % For LuaTeX >= 0.85
+     \def\pdfdest{\pdfextension dest}
+     \let\pdfoutput\outputmode
+@@ -1055,28 +1100,6 @@ where each line of input produces a line
+   \fi
+ \fi
+-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+-% can be set).  So we test for \relax and 0 as well as being undefined.
+-\ifx\pdfoutput\thisisundefined
+-\else
+-  \ifx\pdfoutput\relax
+-  \else
+-    \ifcase\pdfoutput
+-    \else
+-      \pdftrue
+-    \fi
+-  \fi
+-\fi
+-
+-\newif\ifpdforxetex
+-\pdforxetexfalse
+-\ifpdf
+-  \pdforxetextrue
+-\fi
+-\ifx\XeTeXrevision\thisisundefined\else
+-  \pdforxetextrue
+-\fi
+-
+ % Output page labels information.
+ % See PDF reference v.1.7 p.594, section 8.3.1.
+@@ -1129,7 +1152,7 @@ where each line of input produces a line
+ % for display in the outlines, and in other places.  Thus, we have to
+ % double any backslashes.  Otherwise, a name like "\node" will be
+ % interpreted as a newline (\n), followed by o, d, e.  Not good.
+-%
++% 
+ % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+ % related messages.  The final outcome is that it is up to the TeX user
+ % to double the backslashes and otherwise make the string valid, so
+@@ -1163,58 +1186,90 @@ with PDF output, and none of those forma
+ be supported due to the design of the PDF format; use regular TeX (DVI
+ output) for that.)}
++% definitions for pdftex or luatex with pdf output
+ \ifpdf
++  % Strings in PDF outlines can either be ASCII, or encoded in UTF-16BE
++  % with BOM.  Unfortunately there is no simple way with pdftex to output
++  % UTF-16, so we have to do some quite convoluted expansion games if we
++  % find the string contains a non-ASCII codepoint if we want these to
++  % display correctly.  We generated the UTF-16 sequences in
++  % \DeclareUnicodeCharacter and we access them here.
+   %
+-  % Color manipulation macros using ideas from pdfcolor.tex,
+-  % except using rgb instead of cmyk; the latter is said to render as a
+-  % very dark gray on-screen and a very dark halftone in print, instead
+-  % of actual black. The dark red here is dark enough to print on paper as
+-  % nearly black, but still distinguishable for online viewing.  We use
+-  % black by default, though.
+-  \def\rgbDarkRed{0.50 0.09 0.12}
+-  \def\rgbBlack{0 0 0}
++  \def\defpdfoutlinetextunicode#1{%
++    \def\pdfoutlinetext{#1}%
++    %
++    % Make UTF-8 sequences expand to UTF-16 definitions.
++    \passthroughcharsfalse \utfbytespdftrue
++    \utfviiidefinedwarningfalse
++    %
++    % Completely expand, eliminating any control sequences such as \code,
++    % leaving only possibly \utfbytes.
++    \let\utfbytes\relax
++    \pdfaccentliterals
++    \xdef\pdfoutlinetextchecked{#1}%
++    \checkutfbytes
++  }%
++  % Check if \utfbytes occurs in expansion.
++  \def\checkutfbytes{%
++    \expandafter\checkutfbytesz\pdfoutlinetextchecked\utfbytes\finish
++  }%
++  \def\checkutfbytesz#1\utfbytes#2\finish{%
++    \def\after{#2}%
++    \ifx\after\empty
++      % No further action needed.  Output ASCII string as-is, as converting
++      % to UTF-16 is somewhat slow (and uses more space).
++      \global\let\pdfoutlinetext\pdfoutlinetextchecked
++    \else
++      \passthroughcharstrue % pass UTF-8 sequences unaltered
++      \xdef\pdfoutlinetext{\pdfoutlinetext}%
++      \expandafter\expandutfsixteen\expandafter{\pdfoutlinetext}\pdfoutlinetext
++    \fi
++  }%
+   %
+-  % rg sets the color for filling (usual text, etc.);
+-  % RG sets the color for stroking (thin rules, e.g., normal _'s).
+-  \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
++  \catcode2=1 % begin-group character
++  \catcode3=2 % end-group character
+   %
+-  % Set color, and create a mark which defines \thiscolor accordingly,
+-  % so that \makeheadline knows which color to restore.
+-  \def\curcolor{0 0 0}%
+-  \def\setcolor#1{%
+-    \ifx#1\curcolor\else
+-      \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+-      \domark
+-      \pdfsetcolor{#1}%
+-      \xdef\curcolor{#1}%
+-    \fi
+-  }
++  % argument should be pure UTF-8 with no control sequences.  convert to
++  % UTF-16BE by inserting null bytes before bytes < 128 and expanding
++  % UTF-8 multibyte sequences to saved UTF-16BE sequences.
++  \def\expandutfsixteen#1#2{%
++    \bgroup \asciitounicode
++    \passthroughcharsfalse
++    \let\utfbytes\asis
++    %
++    % for Byte Order Mark (BOM)
++    \catcode"FE=12
++    \catcode"FF=12
++    %
++    % we want to treat { and } in #1 as any other ASCII bytes.  however,
++    % we need grouping characters for \scantokens and definitions/assignments,
++    % so define alternative grouping characters using control characters
++    % that are unlikely to occur.
++    % this does not affect 0x02 or 0x03 bytes arising from expansion as
++    % these are tokens with different catcodes.
++    \catcode"02=1 % begin-group character
++    \catcode"03=2 % end-group character
++    %
++    \expandafter\xdef\expandafter#2\scantokens{%
++      ^^02^^fe^^ff#1^^03}%
++    % NB we need \scantokens to provide both the open and close group tokens
++    % for \xdef otherwise there is an e-TeX error "File ended while
++    % scanning definition of..."
++    % NB \scantokens is a e-TeX command which is assumed to be provided by
++    % pdfTeX.
++    %
++    \egroup
++  }%
+   %
+-  \let\maincolor\rgbBlack
+-  \pdfsetcolor{\maincolor}
+-  \edef\thiscolor{\maincolor}
+-  \def\currentcolordefs{}
++  \catcode2=12 \catcode3=12 % defaults
+   %
+-  \def\makefootline{%
+-    \baselineskip24pt
+-    \line{\pdfsetcolor{\maincolor}\the\footline}%
+-  }
++  % Color support
+   %
+-  \def\makeheadline{%
+-    \vbox to 0pt{%
+-      \vskip-22.5pt
+-      \line{%
+-        \vbox to8.5pt{}%
+-        % Extract \thiscolor definition from the marks.
+-        \getcolormarks
+-        % Typeset the headline with \maincolor, then restore the color.
+-        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+-      }%
+-      \vss
+-    }%
+-    \nointerlineskip
+-  }
++  % rg sets the color for filling (usual text, etc.);
++  % RG sets the color for stroking (thin rules, e.g., normal _'s).
++  \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
+   %
++  % PDF outline support
+   %
+   \pdfcatalog{/PageMode /UseOutlines}
+   %
+@@ -1311,18 +1366,15 @@ output) for that.)}
+       \def\pdfoutlinetext{#1}%
+     \else
+       \ifx \declaredencoding \utfeight
+-        \ifx\luatexversion\thisisundefined
+-          % For pdfTeX  with UTF-8.
+-          % TODO: the PDF format can use UTF-16 in bookmark strings,
+-          % but the code for this isn't done yet.
+-          % Use ASCII approximations.
+-          \passthroughcharsfalse
+-          \def\pdfoutlinetext{#1}%
+-        \else
++        \ifluatex
+           % For LuaTeX with UTF-8.
+           % Pass through Unicode characters for title texts.
+           \passthroughcharstrue
+-          \def\pdfoutlinetext{#1}%
++          \pdfaccentliterals
++          \xdef\pdfoutlinetext{#1}%
++        \else
++          % For pdfTeX with UTF-8.
++          \defpdfoutlinetextunicode{#1}%
+         \fi
+       \else
+         % For non-Latin-1 or non-UTF-8 encodings.
+@@ -1341,14 +1393,6 @@ output) for that.)}
+     \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+   }
+   %
+-  % used to mark target names; must be expandable.
+-  \def\pdfmkpgn#1{#1}
+-  %
+-  % by default, use black for everything.
+-  \def\urlcolor{\rgbBlack}
+-  \let\linkcolor\rgbBlack
+-  \def\endlink{\setcolor{\maincolor}\pdfendlink}
+-  %
+   % Adding outlines to PDF; macros for calculating structure of outlines
+   % come from Petr Olsak
+   \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+@@ -1374,7 +1418,7 @@ output) for that.)}
+       \def\pdfdestname{#4}%
+     \fi
+     %
+-    \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
++    \pdfoutline goto name{\pdfdestname}#2{\pdfoutlinetext}%
+   }
+   %
+   \def\pdfmakeoutlines{%
+@@ -1385,15 +1429,18 @@ output) for that.)}
+       \def\thischapnum{##2}%
+       \def\thissecnum{0}%
+       \def\thissubsecnum{0}%
++      \def\indexlastsec{chap\thischapnum}%
+       }%
+       \def\numsecentry##1##2##3##4{%
+       \advancenumber{chap\thischapnum}%
+       \def\thissecnum{##2}%
+       \def\thissubsecnum{0}%
++      \def\indexlastsec{sec\thissecnum}%
+       }%
+       \def\numsubsecentry##1##2##3##4{%
+       \advancenumber{sec\thissecnum}%
+       \def\thissubsecnum{##2}%
++      \def\indexlastsec{subsec\thissecnum}%
+       }%
+       \def\numsubsubsecentry##1##2##3##4{%
+       \advancenumber{subsec\thissubsecnum}%
+@@ -1401,7 +1448,13 @@ output) for that.)}
+       \def\thischapnum{0}%
+       \def\thissecnum{0}%
+       \def\thissubsecnum{0}%
++      \let\indexlastsec\empty
+       %
++      % Index initials are subsidiary to whatever sectioning command just
++      % occurred, usually @appendix or @chapter but occasionally a lower level.
++      \def\idxinitialentry##1##2##3##4{%
++        \expandafter\advancenumber\expandafter{\indexlastsec}%
++      }%
+       % use \def rather than \let here because we redefine \chapentry et
+       % al. a second time, below.
+       \def\appentry{\numchapentry}%
+@@ -1412,6 +1465,7 @@ output) for that.)}
+       \def\unnsecentry{\numsecentry}%
+       \def\unnsubsecentry{\numsubsecentry}%
+       \def\unnsubsubsecentry{\numsubsubsecentry}%
++      %
+       \readdatafile{toc}%
+       %
+       % Read toc second time, this time actually producing the outlines.
+@@ -1421,7 +1475,7 @@ output) for that.)}
+       % We use the node names as the destinations.
+       %
+       % Currently we prefix the section name with the section number
+-      % for chapter and appendix headings only in order to avoid too much
++      % for chapter and appendix headings only in order to avoid too much 
+       % horizontal space being required in the PDF viewer.
+       \def\numchapentry##1##2##3##4{%
+         \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+@@ -1433,28 +1487,23 @@ output) for that.)}
+         \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+       \def\numsubsubsecentry##1##2##3##4{% count is always zero
+         \dopdfoutline{##1}{}{##3}{##4}}%
+-      %
+-      % PDF outlines are displayed using system fonts, instead of
+-      % document fonts.  Therefore we cannot use special characters,
+-      % since the encoding is unknown.  For example, the eogonek from
+-      % Latin 2 (0xea) gets translated to a | character.  Info from
+-      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+-      %
+-      % TODO this right, we have to translate 8-bit characters to
+-      % their "best" equivalent, based on the @documentencoding.  Too
+-      % much work for too little return.  Just use the ASCII equivalents
+-      % we use for the index sort strings.
+-      %
+-      \indexnofonts
++      \def\idxinitialentry##1##2##3##4{%
++        \dopdfoutline{##1}{}{idx.##1.##2}{##4}}%
++      % 
++      \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
+       \setupdatafile
+       % We can have normal brace characters in the PDF outlines, unlike
+       % Texinfo index files.  So set that up.
+       \def\{{\lbracecharliteral}%
+       \def\}{\rbracecharliteral}%
+       \catcode`\\=\active \otherbackslash
+-      \input \tocreadfilename
++      \input \tocreadfilename\relax
++      \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
+     \endgroup
+   }
++  \def\dopdfoutlinecontents{%
++    \expandafter\dopdfoutline\expandafter{\putwordTOC}{}{txi.CONTENTS}{}%
++  }
+   {\catcode`[=1 \catcode`]=2
+    \catcode`{=\other \catcode`}=\other
+    \gdef\lbracecharliteral[{]%
+@@ -1480,55 +1529,16 @@ output) for that.)}
+   \else
+     \let \startlink \pdfstartlink
+   \fi
+-  % make a live url in pdf output.
+-  \def\pdfurl#1{%
+-    \begingroup
+-      % it seems we really need yet another set of dummies; have not
+-      % tried to figure out what each command should do in the context
+-      % of @url.  for now, just make @/ a no-op, that's the only one
+-      % people have actually reported a problem with.
+-      %
+-      \normalturnoffactive
+-      \def\@{@}%
+-      \let\/=\empty
+-      \makevalueexpandable
+-      % do we want to go so far as to use \indexnofonts instead of just
+-      % special-casing \var here?
+-      \def\var##1{##1}%
+-      %
+-      \leavevmode\setcolor{\urlcolor}%
+-      \startlink attr{/Border [0 0 0]}%
+-        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+-    \endgroup}
+-  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
+-  % be a simple number, or a list of numbers in the case of an index
+-  % entry.
+-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+-  \def\maketoks{%
+-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+-    \ifx\first0\adn0
+-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+-    \else
+-      \ifnum0=\countA\else\makelink\fi
+-      \ifx\first.\let\next=\done\else
+-        \let\next=\maketoks
+-        \addtokens{\toksB}{\the\toksD}
+-        \ifx\first,\addtokens{\toksB}{\space}\fi
+-      \fi
+-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+-    \next}
+-  \def\makelink{\addtokens{\toksB}%
+-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++  \def\pdfmakeurl#1{%
++    \startlink attr{/Border [0 0 0]}%
++      user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
++  }%
++  \def\endlink{\setcolor{\maincolor}\pdfendlink}
++  %
+   \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+   \def\pdflinkpage#1#2{%
+-    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
++    \startlink attr{/Border [0 0 0]} goto name{#1}
+     \setcolor{\linkcolor}#2\endlink}
+-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+ \else
+   % non-pdf mode
+   \let\pdfmkdest = \gobble
+@@ -1537,13 +1547,12 @@ output) for that.)}
+   \let\setcolor = \gobble
+   \let\pdfsetcolor = \gobble
+   \let\pdfmakeoutlines = \relax
+-\fi  % \ifx\pdfoutput
++\fi
+ %
+ % For XeTeX
+ %
+-\ifx\XeTeXrevision\thisisundefined
+-\else
++\ifxetex
+   %
+   % XeTeX version check
+   %
+@@ -1569,45 +1578,8 @@ output) for that.)}
+   \fi
+   %
+   % Color support
+-  %
+-  \def\rgbDarkRed{0.50 0.09 0.12}
+-  \def\rgbBlack{0 0 0}
+-  %
+   \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
+   %
+-  % Set color, and create a mark which defines \thiscolor accordingly,
+-  % so that \makeheadline knows which color to restore.
+-  \def\setcolor#1{%
+-    \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+-    \domark
+-    \pdfsetcolor{#1}%
+-  }
+-  %
+-  \def\maincolor{\rgbBlack}
+-  \pdfsetcolor{\maincolor}
+-  \edef\thiscolor{\maincolor}
+-  \def\currentcolordefs{}
+-  %
+-  \def\makefootline{%
+-    \baselineskip24pt
+-    \line{\pdfsetcolor{\maincolor}\the\footline}%
+-  }
+-  %
+-  \def\makeheadline{%
+-    \vbox to 0pt{%
+-      \vskip-22.5pt
+-      \line{%
+-        \vbox to8.5pt{}%
+-        % Extract \thiscolor definition from the marks.
+-        \getcolormarks
+-        % Typeset the headline with \maincolor, then restore the color.
+-        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+-      }%
+-      \vss
+-    }%
+-    \nointerlineskip
+-  }
+-  %
+   % PDF outline support
+   %
+   % Emulate pdfTeX primitive
+@@ -1645,11 +1617,6 @@ output) for that.)}
+     \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+   }
+   %
+-  % by default, use black for everything.
+-  \def\urlcolor{\rgbBlack}
+-  \def\linkcolor{\rgbBlack}
+-  \def\endlink{\setcolor{\maincolor}\pdfendlink}
+-  %
+   \def\dopdfoutline#1#2#3#4{%
+     \setpdfoutlinetext{#1}
+     \setpdfdestname{#3}
+@@ -1663,24 +1630,30 @@ output) for that.)}
+   %
+   \def\pdfmakeoutlines{%
+     \begingroup
+-      %
+       % For XeTeX, counts of subentries are not necessary.
+       % Therefore, we read toc only once.
+       %
+       % We use node names as destinations.
+       %
+       % Currently we prefix the section name with the section number
+-      % for chapter and appendix headings only in order to avoid too much
++      % for chapter and appendix headings only in order to avoid too much 
+       % horizontal space being required in the PDF viewer.
+       \def\partentry##1##2##3##4{}% ignore parts in the outlines
+       \def\numchapentry##1##2##3##4{%
+-        \dopdfoutline{##2 ##1}{1}{##3}{##4}}%
++        \dopdfoutline{##2 ##1}{1}{##3}{##4}%
++        \def\indexseclevel{2}}%
+       \def\numsecentry##1##2##3##4{%
+-        \dopdfoutline{##1}{2}{##3}{##4}}%
++        \dopdfoutline{##1}{2}{##3}{##4}%
++        \def\indexseclevel{3}}%
+       \def\numsubsecentry##1##2##3##4{%
+-        \dopdfoutline{##1}{3}{##3}{##4}}%
++        \dopdfoutline{##1}{3}{##3}{##4}%
++        \def\indexseclevel{4}}%
+       \def\numsubsubsecentry##1##2##3##4{%
+-        \dopdfoutline{##1}{4}{##3}{##4}}%
++        \dopdfoutline{##1}{4}{##3}{##4}%
++        \def\indexseclevel{5}}%
++      %
++      \def\idxinitialentry##1##2##3##4{%
++         \dopdfoutline{##1}{\indexseclevel}{idx.##1.##2}{##4}}%
+       %
+       \let\appentry\numchapentry%
+       \let\appsecentry\numsecentry%
+@@ -1696,15 +1669,25 @@ output) for that.)}
+       % Therefore, the encoding and the language may not be considered.
+       %
+       \indexnofonts
++      \pdfaccentliterals
++      \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
++      %
+       \setupdatafile
+       % We can have normal brace characters in the PDF outlines, unlike
+       % Texinfo index files.  So set that up.
+       \def\{{\lbracecharliteral}%
+       \def\}{\rbracecharliteral}%
+       \catcode`\\=\active \otherbackslash
+-      \input \tocreadfilename
++      \xetexpreauxfile
++      \input \tocreadfilename\relax
++      \xetexpostauxfile
++      \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
+     \endgroup
+   }
++  \def\dopdfoutlinecontents{%
++    \expandafter\dopdfoutline\expandafter
++      {\putwordTOC}{1}{txi.CONTENTS}{txi.CONTENTS}%
++  }
+   {\catcode`[=1 \catcode`]=2
+    \catcode`{=\other \catcode`}=\other
+    \gdef\lbracecharliteral[{]%
+@@ -1717,7 +1700,7 @@ output) for that.)}
+   % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
+   % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
+   % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+-%
++  %
+   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+     \ifx\PP\D\let\nextsp\relax
+     \else\let\nextsp\skipspaces
+@@ -1732,55 +1715,17 @@ output) for that.)}
+     \edef\temp{#1}%
+     \expandafter\skipspaces\temp|\relax
+   }
+-  % make a live url in pdf output.
+-  \def\pdfurl#1{%
+-    \begingroup
+-      % it seems we really need yet another set of dummies; have not
+-      % tried to figure out what each command should do in the context
+-      % of @url.  for now, just make @/ a no-op, that's the only one
+-      % people have actually reported a problem with.
+-      %
+-      \normalturnoffactive
+-      \def\@{@}%
+-      \let\/=\empty
+-      \makevalueexpandable
+-      % do we want to go so far as to use \indexnofonts instead of just
+-      % special-casing \var here?
+-      \def\var##1{##1}%
+-      %
+-      \leavevmode\setcolor{\urlcolor}%
+-      \special{pdf:bann << /Border [0 0 0]
+-        /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+-    \endgroup}
++  \def\pdfmakeurl#1{%
++    \special{pdf:bann << /Border [0 0 0]
++      /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
++  }
+   \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
+-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+-  \def\maketoks{%
+-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+-    \ifx\first0\adn0
+-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+-    \else
+-      \ifnum0=\countA\else\makelink\fi
+-      \ifx\first.\let\next=\done\else
+-        \let\next=\maketoks
+-        \addtokens{\toksB}{\the\toksD}
+-        \ifx\first,\addtokens{\toksB}{\space}\fi
+-      \fi
+-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+-    \next}
+-  \def\makelink{\addtokens{\toksB}%
+-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+   \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+   \def\pdflinkpage#1#2{%
+     \special{pdf:bann << /Border [0 0 0]
+       /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
+     \setcolor{\linkcolor}#2\endlink}
+-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+-%
++  %
+   %
+   % @image support
+   %
+@@ -1837,6 +1782,164 @@ output) for that.)}
+   }
+ \fi
++% common definitions and code for pdftex, luatex and xetex
++\ifpdforxetex
++  % The dark red here is dark enough to print on paper as
++  % nearly black, but still distinguishable for online viewing.  We use
++  % black by default, though.
++  \def\rgbDarkRed{0.50 0.09 0.12}
++  \def\rgbBlack{0 0 0}
++  %
++  % Set color, and create a mark which defines \thiscolor accordingly,
++  % so that \makeheadline knows which color to restore.
++  \def\curcolor{0 0 0}%
++  \def\setcolor#1{%
++    \ifx#1\curcolor\else
++      \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
++      \domark
++      \pdfsetcolor{#1}%
++      \xdef\curcolor{#1}%
++    \fi
++  }
++  %
++  \let\maincolor\rgbBlack
++  \pdfsetcolor{\maincolor}
++  \edef\thiscolor{\maincolor}
++  \def\currentcolordefs{}
++  %
++  \def\makefootline{%
++    \baselineskip24pt
++    \line{\pdfsetcolor{\maincolor}\the\footline}%
++  }
++  %
++  \def\makeheadline{%
++    \vbox to 0pt{%
++      \vskip-22.5pt
++      \line{%
++        \vbox to8.5pt{}%
++        % Extract \thiscolor definition from the marks.
++        \getcolormarks
++        % Typeset the headline with \maincolor, then restore the color.
++        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
++      }%
++      \vss
++    }%
++    \nointerlineskip
++  }
++  %
++  % by default, use black for everything.
++  \def\urlcolor{\rgbBlack}
++  \let\linkcolor\rgbBlack
++  %
++  % make a live url in pdf output.
++  \def\pdfurl#1{%
++    \begingroup
++      % it seems we really need yet another set of dummies; have not
++      % tried to figure out what each command should do in the context
++      % of @url.  for now, just make @/ a no-op, that's the only one
++      % people have actually reported a problem with.
++      %
++      \normalturnoffactive
++      \def\@{@}%
++      \let\/=\empty
++      \makevalueexpandable
++      % do we want to go so far as to use \indexnofonts instead of just
++      % special-casing \var here?
++      \def\var##1{##1}%
++      %
++      \leavevmode\setcolor{\urlcolor}%
++      \pdfmakeurl{#1}%
++    \endgroup}
++  %
++  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
++  % be a simple number, or a list of numbers in the case of an index
++  % entry.
++  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
++  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
++  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
++  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
++  \def\maketoks{%
++    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
++    \ifx\first0\adn0
++    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
++    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
++    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
++    \else
++      \ifnum0=\countA\else\makelink\fi
++      \ifx\first.\let\next=\done\else
++        \let\next=\maketoks
++        \addtokens{\toksB}{\the\toksD}
++        \ifx\first,\addtokens{\toksB}{\space}\fi
++      \fi
++    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++    \next}
++  \def\makelink{\addtokens{\toksB}%
++    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
++\fi
++
++\ifpdforxetex
++  % for pdftex.
++  {\catcode`^^cc=13
++  \gdef\pdfaccentliteralsutfviii{%
++    % For PDF outline only.  Unicode combining accents follow the
++    % character they modify.  Note we need at least the first byte
++    % of the UTF-8 sequences to have an active catcode to allow the
++    % definitions to do their magic.
++    \def\"##1{##1^^cc^^88}%           U+0308
++    \def\'##1{##1^^cc^^81}%           U+0301
++    \def\,##1{##1^^cc^^a7}%           U+0327
++    \def\=##1{##1^^cc^^85}%           U+0305
++    \def\^##1{##1^^cc^^82}%           U+0302
++    \def\`##1{##1^^cc^^80}%           U+0300
++    \def\~##1{##1^^cc^^83}%           U+0303
++    \def\dotaccent##1{##1^^cc^^87}%   U+0307
++    \def\H##1{##1^^cc^^8b}%           U+030B
++    \def\ogonek##1{##1^^cc^^a8}%      U+0328
++    \def\ringaccent##1{##1^^cc^^8a}%  U+030A
++    \def\u##1{##1^^cc^^8c}%           U+0306
++    \def\ubaraccent##1{##1^^cc^^b1}%  U+0331
++    \def\udotaccent##1{##1^^cc^^a3}%  U+0323
++    \def\v##1{##1^^cc^^8c}%           U+030C
++    % this definition of @tieaccent will only work with exactly two characters
++    % in argument as we need to insert the combining character between them.
++    \def\tieaccent##1{\tieaccentz##1}%
++    \def\tieaccentz##1##2{##1^^cd^^a1##2} % U+0361
++  }}%
++  %
++  % for xetex and luatex, which both support extended ^^^^ escapes and
++  % process the Unicode codepoint as a single token.
++  \gdef\pdfaccentliteralsnative{%
++    \def\"##1{##1^^^^0308}%
++    \def\'##1{##1^^^^0301}%
++    \def\,##1{##1^^^^0327}%
++    \def\=##1{##1^^^^0305}%
++    \def\^##1{##1^^^^0302}%
++    \def\`##1{##1^^^^0300}%
++    \def\~##1{##1^^^^0303}%
++    \def\dotaccent##1{##1^^^^0307}%
++    \def\H##1{##1^^^^030b}%
++    \def\ogonek##1{##1^^^^0328}%
++    \def\ringaccent##1{##1^^^^030a}%
++    \def\u##1{##1^^^^0306}%
++    \def\ubaraccent##1{##1^^^^0331}%
++    \def\udotaccent##1{##1^^^^0323}%
++    \def\v##1{##1^^^^030c}%
++    \def\tieaccent##1{\tieaccentz##1}%
++    \def\tieaccentz##1##2{##1^^^^0361##2} % U+0361
++  }%
++  %
++  % use the appropriate definition
++  \ifluatex
++    \let\pdfaccentliterals\pdfaccentliteralsnative
++  \else
++    \ifxetex
++      \let\pdfaccentliterals\pdfaccentliteralsnative
++    \else
++      \let\pdfaccentliterals\pdfaccentliteralsutfviii
++    \fi
++  \fi
++\fi
+ %
+ \message{fonts,}
+@@ -2697,7 +2800,7 @@ end
+ }
+ % Commands to set the quote options.
+-%
++% 
+ \parseargdef\codequoteundirected{%
+   \def\temp{#1}%
+   \ifx\temp\onword
+@@ -2743,7 +2846,7 @@ end
+ % If we are in a monospaced environment, however, 1) always use \ttsl,
+ % and 2) do not add an italic correction.
+ \def\dosmartslant#1#2{%
+-  \ifusingtt
++  \ifusingtt 
+     {{\ttsl #2}\let\next=\relax}%
+     {\def\next{{#1#2}\smartitaliccorrection}}%
+   \next
+@@ -2768,15 +2871,15 @@ end
+ % @cite unconditionally uses \sl with \smartitaliccorrection.
+ \def\cite#1{{\sl #1}\smartitaliccorrection}
+-% @var unconditionally uses \sl.  This gives consistency for
+-% parameter names whether they are in @def, @table @code or a
+-% regular paragraph.
+-%  To get ttsl font for @var when used in code context, @set txicodevaristt.
+-% The \null is to reset \spacefactor.
++% By default, use ttsl font for @var when used in code context.
++% To unconditionally use \sl for @var, @clear txicodevaristt.  This
++% gives consistency for parameter names whether they are in @def,
++% @table @code or a regular paragraph.
+ \def\aftersmartic{}
+ \def\var#1{%
+   \let\saveaftersmartic = \aftersmartic
+   \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
++  % The \null is to reset \spacefactor.
+   %
+   \ifflagclear{txicodevaristt}%
+     {\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
+@@ -2784,7 +2887,6 @@ end
+   \varnext
+ }
+-% To be removed after next release
+ \def\SETtxicodevaristt{}% @set txicodevaristt
+ \let\i=\smartitalic
+@@ -2804,7 +2906,7 @@ end
+ \def\ii#1{{\it #1}}             % italic font
+ % @b, explicit bold.  Also @strong.
+-\def\b#1{{\bf #1}}
++\def\b#1{{\bf \defcharsdefault #1}}
+ \let\strong=\b
+ % @sansserif, explicit sans.
+@@ -2922,7 +3024,7 @@ end
+   \gdef\codedash{\futurelet\next\codedashfinish}
+   \gdef\codedashfinish{%
+     \normaldash % always output the dash character itself.
+-    %
++    % 
+     % Now, output a discretionary to allow a line break, unless
+     % (a) the next character is a -, or
+     % (b) the preceding character is a -, or
+@@ -3028,25 +3130,25 @@ end
+         % For pdfTeX and LuaTeX
+         \ifurefurlonlylink
+           % PDF plus option to not display url, show just arg
+-          \unhbox0
++          \unhbox0             
+         \else
+           % PDF, normally display both arg and url for consistency,
+           % visibility, if the pdf is eventually used to print, etc.
+           \unhbox0\ (\urefcode{#1})%
+         \fi
+       \else
+-        \ifx\XeTeXrevision\thisisundefined
+-          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+-        \else
++        \ifxetex
+           % For XeTeX
+           \ifurefurlonlylink
+             % PDF plus option to not display url, show just arg
+-            \unhbox0
++            \unhbox0             
+           \else
+             % PDF, normally display both arg and url for consistency,
+             % visibility, if the pdf is eventually used to print, etc.
+             \unhbox0\ (\urefcode{#1})%
+           \fi
++        \else
++          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+         \fi
+       \fi
+     \else
+@@ -3099,10 +3201,10 @@ end
+   }
+ }
+-% By default we'll break after the special characters, but some people like to
+-% break before the special chars, so allow that.  Also allow no breaking at
++% By default we'll break after the special characters, but some people like to 
++% break before the special chars, so allow that.  Also allow no breaking at 
+ % all, for manual control.
+-%
++% 
+ \parseargdef\urefbreakstyle{%
+   \def\txiarg{#1}%
+   \ifx\txiarg\wordnone
+@@ -3121,16 +3223,17 @@ end
+ \def\wordnone{none}
+ % Allow a ragged right output to aid breaking long URL's.  There can
+-% be a break at the \allowbreak with no extra glue (if the existing stretch in
++% be a break at the \allowbreak with no extra glue (if the existing stretch in 
+ % the line is sufficient), a break at the \penalty with extra glue added
+ % at the end of the line, or no break at all here.
+-%   Changing the value of the penalty and/or the amount of stretch affects how
++%   Changing the value of the penalty and/or the amount of stretch affects how 
+ % preferable one choice is over the other.
++%   Check test cases in doc/texinfo-tex-test.texi before making any changes.
+ \def\urefallowbreak{%
+   \penalty0\relax
+-  \hskip 0pt plus 2 em\relax
++  \hskip 0pt plus 3 em\relax
+   \penalty1000\relax
+-  \hskip 0pt plus -2 em\relax
++  \hskip 0pt plus -3 em\relax
+ }
+ \urefbreakstyle after
+@@ -3339,7 +3442,7 @@ $$%
+ % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
+ % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
+ % except specified as a normal braced arg, so no newlines to worry about.
+-%
++% 
+ \def\outfmtnametex{tex}
+ %
+ \long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+@@ -3347,7 +3450,7 @@ $$%
+   \def\inlinefmtname{#1}%
+   \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
+ }
+-%
++% 
+ % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+ % FMTNAME is tex, else ELSE-TEXT.
+ \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+@@ -3363,7 +3466,7 @@ $$%
+ % *right* brace they would have to use a command anyway, so they may as
+ % well use a command to get a left brace too.  We could re-use the
+ % delimiter character idea from \verb, but it seems like overkill.
+-%
++% 
+ \long\def\inlineraw{\tex \doinlineraw}
+ \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+ \def\doinlinerawtwo#1,#2,\finish{%
+@@ -3649,7 +3752,7 @@ $$%
+ % for non-CM glyphs.  That is ec* for regular text and tc* for the text
+ % companion symbols (LaTeX TS1 encoding).  Both are part of the ec
+ % package and follow the same conventions.
+-%
++% 
+ \def\ecfont{\etcfont{e}}
+ \def\tcfont{\etcfont{t}}
+ %
+@@ -3665,15 +3768,24 @@ $$%
+      {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
+   % else
+      {\ifx\curfontstyle\bfstylename
+-        % bold:
+-        \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
++        \etcfontbold{#1}%
+       \else
+-        % regular:
+-        \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
++        \ifrmisbold
++          \etcfontbold{#1}%
++        \else
++          % regular:
++          \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space
++            at \nominalsize
++        \fi
+       \fi}%
+   \thisecfont
+ }
++\def\etcfontbold#1{%
++  % bold:
++  \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
++}
++
+ % @registeredsymbol - R in a circle.  The font for the R should really
+ % be smaller yet, but lllsize is the best we can do for now.
+ % Adapted from the plain.tex definition of \copyright.
+@@ -3731,7 +3843,7 @@ $$%
+               after the title page.}}%
+ \def\setshortcontentsaftertitlepage{%
+   \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
+-              command; move your @shortcontents and @contents commands if you
++              command; move your @shortcontents and @contents commands if you 
+               want the contents after the title page.}}%
+ \parseargdef\shorttitlepage{%
+@@ -3776,7 +3888,8 @@ $$%
+ }
+ \def\finishtitlepage{%
+-  \vskip4pt \hrule height 2pt width \hsize
++  \ifseenauthor \vskip4pt \else \vskip 0pt plus 1filll \fi
++  \hrule height 2pt width \hsize
+   \vskip\titlepagebottomglue
+   \finishedtitlepagetrue
+ }
+@@ -3785,7 +3898,7 @@ $$%
+ % don't worry much about spacing, ragged right.  This should be used
+ % inside a \vbox, and fonts need to be set appropriately first. \par should
+ % be specified before the end of the \vbox, since a vbox is a group.
+-%
++% 
+ \def\raggedtitlesettings{%
+   \rm
+   \hyphenpenalty=10000
+@@ -3799,33 +3912,105 @@ $$%
+ \let\subtitlerm=\rmfont
+ \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
++\let\savedtitle\empty
++\let\savedsubtitlegroup\empty
++\let\savedauthorgroup\empty
++
+ \parseargdef\title{%
+-  \checkenv\titlepage
+-  \vbox{\titlefonts \raggedtitlesettings #1\par}%
+-  % print a rule at the page bottom also.
+-  \finishedtitlepagefalse
+-  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++  \expandafter\ifx\thisenv\documentinfo
++    \gdef\savedtitle{#1}%
++  \else
++    \checkenv\titlepage
++    \vbox{\titlefonts \raggedtitlesettings #1\par}%
++    % print a rule at the page bottom also.
++    \finishedtitlepagefalse
++    \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++  \fi
+ }
+ \parseargdef\subtitle{%
+-  \checkenv\titlepage
+-  {\subtitlefont \rightline{#1}}%
++  \expandafter\ifx\thisenv\documentinfo
++    \ifx\savedsubtitlegroup\empty
++      \gdef\savedsubtitlegroup{\savedsubtitle{#1}}%
++    \else
++      \expandafter\gdef\expandafter\savedsubtitlegroup\expandafter{%
++        \savedsubtitlegroup\savedsubtitle{#1}}%
++    \fi
++  \else
++    \checkenv\titlepage
++    {\subtitlefont \rightline{#1}}%
++  \fi
+ }
+ % @author should come last, but may come many times.
+ % It can also be used inside @quotation.
+ %
+ \parseargdef\author{%
+-  \def\temp{\quotation}%
+-  \ifx\thisenv\temp
+-    \def\quotationauthor{#1}% printed in \Equotation.
++  \expandafter\ifx\thisenv\documentinfo
++    \ifx\savedauthorgroup\empty
++      \gdef\savedauthorgroup{\savedauthor{#1}}%
++    \else
++      \expandafter\gdef\expandafter\savedauthorgroup\expandafter{%
++        \savedauthorgroup\savedauthor{#1}}%
++    \fi
+   \else
+-    \checkenv\titlepage
+-    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+-    {\secfonts\rm \leftline{#1}}%
++    \def\temp{\quotation}%
++    \ifx\thisenv\temp
++      \def\quotationauthor{#1}% printed in \Equotation.
++    \else
++      \checkenv\titlepage
++      \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
++      {\secfonts\rm \leftline{#1}}%
++    \fi
+   \fi
+ }
++% @maketitle
++{\obeylines
++\gdef\maketitle{%
++\titlepage
++\ifx\savedtitle\empty\else
++  \title \savedtitle
++  \ifx\savedsubtitlegroup\empty\else
++    \savedsubtitlegroup
++\fi\fi
++\ifx\savedauthorgroup\empty\else
++  \savedauthorgroup
++\fi
++% start verso page if either copying or publication text is given
++\ifx\copyingtext\relax
++  \ifx\publicationtext\relax\else
++    \page \vskip 0pt plus 1filll
++  \fi
++\else
++  \page \vskip 0pt plus 1filll
++\fi
++\ifx\publicationtext\relax\else
++  \insertpublication
++  \sp 1
++\fi
++\ifx\copyingtext\relax\else
++  \insertcopying
++\fi
++\end titlepage
++}
++
++% \savedauthor{#1}, called with braces.  output an @author line.
++\gdef\savedauthor#1{%
++\author#1
++}
++
++% \savedsubtitle{#1}, called with braces.  output a @subtitle line.
++\gdef\savedsubtitle#1{%
++\subtitle#1
++}
++} % \obeylines
++
++% @documentinfo block
++\envdef\documentinfo{%
++}
++\def\Edocumentinfo{}%
++
+ % Set up page headings and footings.
+@@ -4611,7 +4796,7 @@ $$%
+ % Like \expandablevalue, but completely expandable (the \message in the
+ % definition above operates at the execution level of TeX).  Used when
+ % writing to auxiliary files, due to the expansion that \write does.
+-% If flag is undefined, pass through an unexpanded @value command: maybe it
++% If flag is undefined, pass through an unexpanded @value command: maybe it 
+ % will be set by the time it is read back in.
+ %
+ % NB flag names containing - or _ may not work here.
+@@ -4635,7 +4820,7 @@ $$%
+ % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+ % with @set.
+-%
++% 
+ % To get the special treatment we need for `@end ifset,' we call
+ % \makecond and then redefine.
+ %
+@@ -4668,7 +4853,7 @@ $$%
+ % without the @) is in fact defined.  We can only feasibly check at the
+ % TeX level, so something like `mathcode' is going to considered
+ % defined even though it is not a Texinfo command.
+-%
++% 
+ \makecond{ifcommanddefined}
+ \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+ %
+@@ -4774,7 +4959,7 @@ $$%
+ \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
+ \def\docodeindexxxx #1{\docind{\indexname}{#1}}
+-
++\f
+ % \definedummyword defines \#1 as \string\#1\space, thus effectively
+ % preventing its expansion.  This is used only for control words,
+ % not control letters, because the \space would be incorrect for
+@@ -4791,7 +4976,7 @@ $$%
+ \def\definedummyword  #1{\def#1{\string#1\space}}%
+ \def\definedummyletter#1{\def#1{\string#1}}%
+-% Used for the aux, toc and index files to prevent expansion of Texinfo
++% Used for the aux, toc and index files to prevent expansion of Texinfo 
+ % commands.  Most of the commands are controlled through the
+ % \ifdummies conditional.
+ %
+@@ -5065,8 +5250,8 @@ $$%
+   %
+   \uccode`\1=`\{ \uppercase{\def\{{1}}%
+   \uccode`\1=`\} \uppercase{\def\}{1}}%
+-  \let\lbracechar\{%
+-  \let\rbracechar\}%
++  \def\lbracechar##1{\{}%
++  \def\rbracechar##1{\}}%
+   %
+   %
+   % We need to get rid of all macros, leaving only the arguments (if present).
+@@ -5081,7 +5266,7 @@ $$%
+   \let\value\indexnofontsvalue
+ }
+-
++\f
+ % #1 is the index name, #2 is the entry text.
+@@ -5122,7 +5307,7 @@ $$%
+   \ifx\suffix\indexisfl\def\suffix{f1}\fi
+   % Open the file
+   \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
+-  % Using \immediate above here prevents an object entering into the current
++  % Using \immediate above here prevents an object entering into the current 
+   % box, which could confound checks such as those in \safewhatsit for
+   % preceding skips.
+   \typeout{Writing index file \jobname.\suffix}%
+@@ -5174,7 +5359,7 @@ $$%
+   \ifx\segment\isfinish
+   \else
+     %
+-    % Fully expand the segment, throwing away any @sortas directives, and
++    % Fully expand the segment, throwing away any @sortas directives, and 
+     % trim spaces.
+     \edef\trimmed{\segment}%
+     \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
+@@ -5266,7 +5451,7 @@ $$%
+   \def\}{\rbracechar{}}%
+   \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
+   %
+-  % Split the entry into primary entry and any subentries, and get the index
++  % Split the entry into primary entry and any subentries, and get the index 
+   % sort key.
+   \splitindexentry\indextext
+   %
+@@ -5411,6 +5596,8 @@ $$%
+   \tolerance = 9500
+   \plainfrenchspacing
+   \everypar = {}% don't want the \kern\-parindent from indentation suppression.
++  \let\entry\indexentry
++  \ifxetex\xetexpreauxfile\fi
+   %
+   % See comment in \requireopenindexfile.
+   \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
+@@ -5436,8 +5623,12 @@ $$%
+     \fi
+   \fi
+   \closein 1
++  \ifxetex\xetexpostauxfile\fi
+ \endgroup}
++% Checked in @bye
++\let\byeerror\relax
++
+ % If the index file starts with a backslash, forgo reading the index
+ % file altogether.  If somebody upgrades texinfo.tex they may still have
+ % old index files using \ as the escape character.  Reading this would
+@@ -5446,19 +5637,21 @@ $$%
+   \ifflagclear{txiindexescapeisbackslash}{%
+     \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
+       \ifflagclear{txiskipindexfileswithbackslash}{%
+-\errmessage{%
+-ERROR: A sorted index file in an obsolete format was skipped.
++        % Delay the error message until the very end to give a chance
++        % for the whole index to be output as input for texindex.
++        \global\def\byeerror{%
++ERROR: A sorted index file in an obsolete format was skipped.  
+ To fix this problem, please upgrade your version of 'texi2dvi'
+ or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
+-If you are using an old version of 'texindex' (part of the Texinfo
++If you are using an old version of 'texindex' (part of the Texinfo 
+ distribution), you may also need to upgrade to a newer version (at least 6.0).
+ You may be able to typeset the index if you run
+ 'texindex \jobname.\indexname' yourself.
+-You could also try setting the 'txiindexescapeisbackslash' flag by
++You could also try setting the 'txiindexescapeisbackslash' flag by 
+ running a command like
+-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do
++'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do 
+ this, Texinfo will try to use index files in the old format.
+-If you continue to have problems, deleting the index files and starting again
++If you continue to have problems, deleting the index files and starting again 
+ might help (with 'rm \jobname.?? \jobname.??s')%
+ }%
+       }{%
+@@ -5466,7 +5659,9 @@ might help (with 'rm \jobname.?? \jobnam
+       }%
+     \else
+       \begindoublecolumns
++      \ifxetex\xetexpreauxfile\fi
+       \input \jobname.\indexname s
++      \ifxetex\xetexpostauxfile\fi
+       \enddoublecolumns
+     \fi
+   }{%
+@@ -5477,11 +5672,39 @@ might help (with 'rm \jobname.?? \jobnam
+     % should work because we (hopefully) don't otherwise use @ in index files.
+     %\catcode`\@=12\relax
+     \catcode`\@=0\relax
++    \ifxetex\xetexpreauxfile\fi
+     \input \jobname.\indexname s
++    \ifxetex\xetexpostauxfile\fi
+     \enddoublecolumns
+   }%
+ }
++\def\indexentry#1#2{%
++  \let\entrypagetarget\empty
++  \ifpdforxetex
++    % only link the index text to the page if no comma appears in the
++    % list of pages, i.e. there is only one page
++    \checkpagelistcomma{#2}\pagelistcomma
++    \expandafter\ifcase\pagelistcomma
++      \def\entrypagetarget{#2}%
++    \fi
++  \fi%
++  \entryinternal{#1}{#2}%
++}
++
++\def\checkpagelistcomma#1#2{%
++  \checkpagelistcommaxx#2#1,\finish
++}
++\def\checkpagelistcommaxx#1#2,#3\finish{%
++  \def\tmp{#3}%
++  \ifx\tmp\empty
++    \def#1{0\relax}
++  \else
++    \def#1{1\relax}
++  \fi
++}
++
++
+ % These macros are used by the sorted index file itself.
+ % Change them to control the appearance of the index.
+@@ -5518,7 +5741,6 @@ might help (with 'rm \jobname.?? \jobnam
+ \def\initial{%
+   \bgroup
+-  \initialglyphs
+   \initialx
+ }
+@@ -5531,7 +5753,7 @@ might help (with 'rm \jobname.?? \jobnam
+   % bottom of a column to reduce an increase in inter-line spacing.
+   \nobreak
+   \vskip 0pt plus 5\baselineskip
+-  \penalty -300
++  \penalty -300 
+   \vskip 0pt plus -5\baselineskip
+   %
+   % Typeset the initial.  Making this add up to a whole number of
+@@ -5541,7 +5763,10 @@ might help (with 'rm \jobname.?? \jobnam
+   %
+   % No shrink because it confuses \balancecolumns.
+   \vskip 1.67\baselineskip plus 1\baselineskip
+-  \leftline{\secfonts \kern-0.05em \secbf #1}%
++  \doindexinitialentry{#1}%
++  \initialglyphs
++  \leftline{%
++    \secfonts \kern-0.05em \secbf #1}%
+   % \secfonts is inside the argument of \leftline so that the change of
+   % \baselineskip will not affect any glue inserted before the vbox that
+   % \leftline creates.
+@@ -5551,6 +5776,28 @@ might help (with 'rm \jobname.?? \jobnam
+   \egroup % \initialglyphs
+ }
++\def\doindexinitialentry#1{%
++  \ifpdforxetex
++    \global\advance\idxinitialno by 1
++    \def\indexlbrace{\{}%
++    \def\indexrbrace{\}}%
++    \def\indexbackslash{\realbackslash}%
++    \def\indexatchar{\@}%
++    \writetocentry{idxinitial}{\asis #1}{IDX\the\idxinitialno}%
++    % The @asis removes a pair of braces around e.g. {@indexatchar} that
++    % are output by texindex.
++    %
++    \pdfmkdest{idx.\asis #1.IDX\the\idxinitialno}%
++  \fi
++}
++
++% No listing in TOC
++\def\idxinitialentry#1#2#3#4{}
++
++% For index initials.
++\newcount\idxinitialno \idxinitialno=1
++
++
+ \newdimen\entryrightmargin
+ \entryrightmargin=0pt
+@@ -5559,16 +5806,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \newdimen\entrycontskip
+ \entrycontskip=1em
+-% for PDF output, whether to make the text of the entry a link to the page
+-% number.  set for @contents and @shortcontents where there is only one
+-% page number.
++% for PDF output, whether to make the text of the entry a link to the section.
++% set for @contents and @shortcontents.
+ \newif\iflinkentrytext
+-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+-% then page number (#2) flushed to the right margin.  It is used for index
+-% and table of contents entries.  The paragraph is indented by \leftskip.
+-%
+-\def\entry{%
++% \entryinternal typesets a paragraph consisting of the text (#1), dot
++% leaders, and then page number (#2) flushed to the right margin.  It is
++% used for index and table of contents entries.  The paragraph is indented
++% by \leftskip.
++% For PDF output, if \linkentrytexttrue and \tocnodetarget is set, link text
++% to the referenced node.  Else if \entrypagetarget is set, link text to the
++% page.
++\def\entryinternal{%
+   \begingroup
+     %
+     % Start a new paragraph if necessary, so our assignments below can't
+@@ -5608,9 +5857,19 @@ might help (with 'rm \jobname.?? \jobnam
+     \global\setbox\boxA=\hbox\bgroup
+       \ifpdforxetex
+         \iflinkentrytext
+-          \pdflinkpage{#1}{\unhbox\boxA}%
++          \ifx\tocnodetarget\empty
++            \unhbox\boxA
++          \else
++            \startxreflink{\tocnodetarget}{}%
++            \unhbox\boxA
++            \endlink
++          \fi
+         \else
+-          \unhbox\boxA
++          \ifx\entrypagetarget\empty
++            \unhbox\boxA
++          \else
++            \pdflinkpage{\entrypagetarget}{\unhbox\boxA}%
++          \fi
+         \fi
+       \else
+         \unhbox\boxA
+@@ -5625,11 +5884,18 @@ might help (with 'rm \jobname.?? \jobnam
+         %
+         \null\nobreak\indexdotfill % Have leaders before the page number.
+         %
++        \hskip\skip\thinshrinkable
+         \ifpdforxetex
+-          \pdfgettoks#1.%
+-          \hskip\skip\thinshrinkable\the\toksA
++          \ifx\tocnodetarget\empty
++            \pdfgettoks#1.%
++            \the\toksA
++          \else
++            % Should just be a single page number in toc
++            \startxreflink{\tocnodetarget}{}%
++            #1\endlink
++          \fi
+         \else
+-          \hskip\skip\thinshrinkable #1%
++          #1%
+         \fi
+       \fi
+     \egroup % end \boxA
+@@ -5851,7 +6117,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \newbox\balancedcolumns
+ \setbox\balancedcolumns=\vbox{shouldnt see this}%
+ %
+-% Only called for the last of the double column material.  \doublecolumnout
++% Only called for the last of the double column material.  \doublecolumnout 
+ % does the others.
+ \def\balancecolumns{%
+   \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
+@@ -5879,7 +6145,7 @@ might help (with 'rm \jobname.?? \jobnam
+     }%
+     % Now the left column is in box 1, and the right column in box 3.
+     %
+-    % Check whether the left column has come out higher than the page itself.
++    % Check whether the left column has come out higher than the page itself.  
+     % (Note that we have doubled \vsize for the double columns, so
+     % the actual height of the page is 0.5\vsize).
+     \ifdim2\ht1>\vsize
+@@ -6175,7 +6441,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\top\unnumbered
+ % Sections.
+-%
++% 
+ \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+ \def\seczzz#1{%
+   \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+@@ -6198,7 +6464,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ % Subsections.
+-%
++% 
+ % normally calls numberedsubseczzz:
+ \outer\parseargdef\numberedsubsec{\numhead2{#1}}
+ \def\numberedsubseczzz#1{%
+@@ -6222,7 +6488,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ % Subsubsections.
+-%
++% 
+ % normally numberedsubsubseczzz:
+ \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
+ \def\numberedsubsubseczzz#1{%
+@@ -6275,6 +6541,10 @@ might help (with 'rm \jobname.?? \jobnam
+ \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+   \suppressfirstparagraphindent}
++% @xrefname - give text with printed name for linking to node and allow
++% referencing node, but do not print any heading.
++\parseargdef\xrefname{\donoderef{Yomitfromtoc}{#1}}%
++
+ % These macros generate a chapter, section, etc. heading only
+ % (including whitespace, linebreaking, etc. around it),
+ % given all the information in convenient, parsed form.
+@@ -6396,11 +6666,6 @@ might help (with 'rm \jobname.?? \jobnam
+     \chapfonts \rm
+     \let\footnote=\errfootnoteheading % give better error message
+     %
+-    % Have to define \currentsection before calling \donoderef, because the
+-    % xref code eventually uses it.  On the other hand, it has to be called
+-    % after \pchapsepmacro, or the headline will change too soon.
+-    \gdef\currentsection{#1}%
+-    %
+     % Only insert the separating space if we have a chapter/appendix
+     % number, and don't print the unnumbered ``number''.
+     \ifx\temptype\Ynothingkeyword
+@@ -6427,7 +6692,7 @@ might help (with 'rm \jobname.?? \jobnam
+     % been typeset.  If the destination for the pdf outline is after the
+     % text, then jumping from the outline may wind up with the text not
+     % being visible, for instance under high magnification.
+-    \donoderef{#2}%
++    \donoderef{#2}{#1}%
+     %
+     % Typeset the actual heading.
+     \nobreak % Avoid page breaks at the interline glue.
+@@ -6543,21 +6808,17 @@ might help (with 'rm \jobname.?? \jobnam
+     \ifx\temptype\Ynothingkeyword
+       \setbox0 = \hbox{}%
+       \def\toctype{unn}%
+-      \gdef\currentsection{#1}%
+     \else\ifx\temptype\Yomitfromtockeyword
+-      % for @headings -- no section number, don't include in toc,
+-      % and don't redefine \currentsection.
++      % for @headings -- no section number, don't include in toc.
+       \setbox0 = \hbox{}%
+       \def\toctype{omit}%
+       \let\sectionlevel=\empty
+     \else\ifx\temptype\Yappendixkeyword
+       \setbox0 = \hbox{#4\enspace}%
+       \def\toctype{app}%
+-      \gdef\currentsection{#1}%
+     \else
+       \setbox0 = \hbox{#4\enspace}%
+       \def\toctype{num}%
+-      \gdef\currentsection{#1}%
+     \fi\fi\fi
+     %
+     % Write the toc entry (before \donoderef).  See comments in \chapmacro.
+@@ -6565,7 +6826,7 @@ might help (with 'rm \jobname.?? \jobnam
+     %
+     % Write the node reference (= pdf destination for pdftex).
+     % Again, see comments in \chapmacro.
+-    \donoderef{#3}%
++    \donoderef{#3}{#1}%
+     %
+     % Interline glue will be inserted when the vbox is completed.
+     % That glue will be a valid breakpoint for the page, since it'll be
+@@ -6759,12 +7020,13 @@ might help (with 'rm \jobname.?? \jobnam
+ % Prepare to read what we've written to \tocfile.
+ %
+-\def\startcontents#1{%
++\def\startcontents#1#2{%
+   % If @setchapternewpage on, and @headings double, the contents should
+   % start on an odd page, unlike chapters.
+   \contentsalignmacro
+   \immediate\closeout\tocfile
+   %
++  #2%
+   % Don't need to put `Contents' or `Short Contents' in the headline.
+   % It is abundantly clear what they are.
+   \chapmacro{#1}{Yomitfromtoc}{}%
+@@ -6784,7 +7046,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % \raggedbottom in plain.tex hardcodes \topskip so override it
+ \catcode`\@=11
+-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
++\def\raggedbottom{\advance\topskip by 0pt plus30pt \r@ggedbottomtrue}
+ \catcode`\@=\other
+ % redefined for the two-volume lispref.  We always output on
+@@ -6795,7 +7057,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % Normal (long) toc.
+ %
+ \def\contents{%
+-  \startcontents{\putwordTOC}%
++  \startcontents{\putwordTOC}{\contentsmkdest}%
++    \ifxetex\xetexpreauxfile\fi
++    \penalty2 % mark beginning of contents
+     \openin 1 \tocreadfilename\space
+     \ifeof 1 \else
+       \findsecnowidths
+@@ -6807,13 +7071,18 @@ might help (with 'rm \jobname.?? \jobnam
+       \pdfmakeoutlines
+     \fi
+     \closein 1
++    \ifxetex\xetexpostauxfile\fi
+   \endgroup
+   \contentsendroman
+ }
++\def\contentsmkdest{%
++  \pdfmkdest{txi.CONTENTS}%
++}
++
+ % And just the chapters.
+ \def\summarycontents{%
+-  \startcontents{\putwordShortTOC}%
++  \startcontents{\putwordShortTOC}{}%
+     %
+     \let\partentry = \shortpartentry
+     \let\numchapentry = \shortchapentry
+@@ -6836,11 +7105,13 @@ might help (with 'rm \jobname.?? \jobnam
+     \let\numsubsubsecentry = \numsecentry
+     \let\appsubsubsecentry = \numsecentry
+     \let\unnsubsubsecentry = \numsecentry
++    \ifxetex\xetexpreauxfile\fi
+     \openin 1 \tocreadfilename\space
+     \ifeof 1 \else
+       \readtocfile
+     \fi
+     \closein 1
++    \ifxetex\xetexpostauxfile\fi
+     \vfill \eject
+     \contentsalignmacro % in case @setchapternewpage odd is in effect
+   \endgroup
+@@ -6881,36 +7152,45 @@ might help (with 'rm \jobname.?? \jobnam
+ %   #3 - level of section (e.g "chap", "sec")
+ %   #4 - page number
+-% Parts, in the main contents.  Replace the part number, which doesn't
+-% exist, with an empty box.  Let's hope all the numbers have the same width.
+-% Also ignore the page number, which is conventionally not printed.
+-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
++% Parts, in the main contents.  Ignore the page number, which is
++% conventionally not printed.
+ \def\partentry#1#2#3#4{%
++  \ifnum\lastpenalty = 2
++    % use less space if at very first entry of contents
++    \vskip 1\baselineskip plus .33\baselineskip minus .25\baselineskip
++  \else
++    \vskip 2\baselineskip plus .66\baselineskip minus .5\baselineskip
++  \fi
+   % Add stretch and a bonus for breaking the page before the part heading.
+   % This reduces the chance of the page being broken immediately after the
+   % part heading, before a following chapter heading.
+-  \vskip 0pt plus 5\baselineskip
++  \vskip 0pt plus 3\baselineskip
+   \penalty-300
+-  \vskip 0pt plus -5\baselineskip
+-  \dochapentry{#1}{\numeralbox}{}%
++  \vskip 0pt plus -3\baselineskip
++  \begingroup
++    \secfonts \rm
++    \entryinternal{#1}{}%
++  \endgroup
++  \afterpartentrytrue
+ }
++\newif\ifafterpartentry
+ %
+ % Parts, in the short toc.
+ \def\shortpartentry#1#2#3#4{%
+   \penalty-300
+   \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
+-  \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
++  \tocentry{{\bf #1}}{}{}{}%
+ }
+ % Chapters, in the main contents.
+ \def\numchapentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthchap{#2}%
+-  \dochapentry{#1}{#2}{#4}%
++  \dochapentry{#1}{#2}{#3}{#4}%
+ }
+ % Chapters, in the short toc.
+ \def\shortchapentry#1#2#3#4{%
+-  \tocentry{#1}{\shortchaplabel{#2}}{#4}%
++  \tocentry{#1}{\shortchaplabel{#2}}{#3}{#4}%
+ }
+ % Appendices, in the main contents.
+@@ -6923,79 +7203,83 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\appentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthchap{#2}%
+-  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}%
++  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#3}{#4}%
+ }
+ % Unnumbered chapters.
+-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}}
+-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}}
++\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#3}{#4}}
++\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#3}{#4}}
+ % Sections.
+-\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}}
+-
+ \def\numsecentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthsec{#2}%
+-  \dosecentry{#1}{#2}{#4}%
++  \dosecentry{#1}{#2}{#3}{#4}%
+ }
+ \let\appsecentry=\numsecentry
+ \def\unnsecentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthsec{#2}%
+-  \dosecentry{#1}{}{#4}%
++  \dosecentry{#1}{}{#3}{#4}%
+ }
+ % Subsections.
+ \def\numsubsecentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthssec{#2}%
+-  \dosubsecentry{#1}{#2}{#4}%
++  \dosubsecentry{#1}{#2}{#3}{#4}%
+ }
+ \let\appsubsecentry=\numsubsecentry
+ \def\unnsubsecentry#1#2#3#4{%
+   \retrievesecnowidth\secnowidthssec{#2}%
+-  \dosubsecentry{#1}{}{#4}%
++  \dosubsecentry{#1}{}{#3}{#4}%
+ }
+ % And subsubsections.
+-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}}
++\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#3}{#4}}
+ \let\appsubsubsecentry=\numsubsubsecentry
+-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}}
++\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#3}{#4}}
+ % This parameter controls the indentation of the various levels.
+ % Same as \defaultparindent.
+ \newdimen\tocindent \tocindent = 15pt
+ % Now for the actual typesetting. In all these, #1 is the text, #2 is
+-% a section number if present, and #3 is the page number.
++% a section number if present, #3 is the node, and #4 is the page number.
+ %
+ % If the toc has to be broken over pages, we want it to be at chapters
+ % if at all possible; hence the \penalty.
+-\def\dochapentry#1#2#3{%
+-   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
++\def\dochapentry#1#2#3#4{%
++   \ifafterpartentry
++     \afterpartentryfalse
++     \penalty5000
++   \else
++     \penalty-300
++   \fi
++   \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+    \begingroup
+      % Move the page numbers slightly to the right
+      \advance\entryrightmargin by -0.05em
+      \chapentryfonts
+      \extrasecnoskip=0.4em % separate chapter number more
+-     \tocentry{#1}{#2}{#3}%
++     \tocentry{#1}{#2}{#3}{#4}%
+    \endgroup
+    \nobreak\vskip .25\baselineskip plus.1\baselineskip
+ }
+-\def\dosecentry#1#2#3{\begingroup
++\def\dosecentry#1#2#3#4{\begingroup
+   \secnowidth=\secnowidthchap
+   \secentryfonts \leftskip=\tocindent
+-  \tocentry{#1}{#2}{#3}%
++  \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+-\def\dosubsecentry#1#2#3{\begingroup
++\def\dosubsecentry#1#2#3#4{\begingroup
+   \secnowidth=\secnowidthsec
+   \subsecentryfonts \leftskip=2\tocindent
+-  \tocentry{#1}{#2}{#3}%
++  \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+-\def\dosubsubsecentry#1#2#3{\begingroup
++\def\dosubsubsecentry#1#2#3#4{\begingroup
+   \secnowidth=\secnowidthssec
+   \subsubsecentryfonts \leftskip=3\tocindent
+-  \tocentry{#1}{#2}{#3}%
++  \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+ % Used for the maximum width of a section number so we can align
+@@ -7005,12 +7289,16 @@ might help (with 'rm \jobname.?? \jobnam
+ \newdimen\extrasecnoskip
+ \extrasecnoskip=0pt
+-% \tocentry{TITLE}{SEC NO}{PAGE}
++\let\tocnodetarget\empty
++\let\entrypagetarget\empty
++
++% \tocentry{TITLE}{SEC NO}{NODE}{PAGE}
+ %
+-\def\tocentry#1#2#3{%
++\def\tocentry#1#2#3#4{%
++  \def\tocnodetarget{#3}%
+   \def\secno{#2}%
+   \ifx\empty\secno
+-    \entry{#1}{#3}%
++    \entryinternal{#1}{#4}%
+   \else
+     \ifdim 0pt=\secnowidth
+       \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}%
+@@ -7021,7 +7309,7 @@ might help (with 'rm \jobname.?? \jobnam
+         #2\hskip\labelspace\hskip\extrasecnoskip\hfill}%
+     \fi
+     \entrycontskip=\wd0
+-    \entry{\box0 #1}{#3}%
++    \entryinternal{\box0 #1}{#4}%
+   \fi
+ }
+ \newdimen\labelspace
+@@ -7406,7 +7694,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % @indentedblock is like @quotation, but indents only on the left and
+ % has no optional argument.
+-%
++% 
+ \makedispenvdef{indentedblock}{\indentedblockstart}
+ %
+ \def\indentedblockstart{%
+@@ -7594,6 +7882,7 @@ might help (with 'rm \jobname.?? \jobnam
+ {\catcode`\ =\other
+ \gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+ }
++\let\copyingtext\relax
+ \def\insertcopying{%
+   \begingroup
+@@ -7602,6 +7891,18 @@ might help (with 'rm \jobname.?? \jobnam
+   \endgroup
+ }
++\def\publication{\checkenv{}\begingroup\macrobodyctxt\dopublication}
++{\catcode`\ =\other
++\gdef\dopublication#1@end publication{\endgroup\def\publicationtext{#1}}
++}
++\let\publicationtext\relax
++
++\def\insertpublication{%
++  \begingroup
++    \parindent = 0pt  % paragraph indentation looks wrong on title page
++    \scanexp\publicationtext
++  \endgroup
++}
+ \message{defuns,}
+ % @defun etc.
+@@ -7720,7 +8021,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % @deftypefnnewline on|off says whether the return type of typed functions
+ % are printed on their own line.  This affects @deftypefn, @deftypefun,
+ % @deftypeop, and @deftypemethod.
+-%
++% 
+ \parseargdef\deftypefnnewline{%
+   \def\temp{#1}%
+   \ifx\temp\onword
+@@ -7890,7 +8191,7 @@ might help (with 'rm \jobname.?? \jobnam
+       \tclose{\temp}% typeset the return type
+       \ifrettypeownline
+         % put return type on its own line; prohibit line break following:
+-        \hfil\vadjust{\nobreak}\break
++        \hfil\vadjust{\nobreak}\break  
+       \else
+         \space  % type on same line, so just followed by a space
+       \fi
+@@ -7901,7 +8202,7 @@ might help (with 'rm \jobname.?? \jobnam
+     {\rm\enskip}% hskip 0.5 em of \rmfont
+   }{}%
+   %
+-  \boldbrax
++  \parenbrackglyphs
+   % arguments will be output next, if any.
+ }
+@@ -7911,7 +8212,10 @@ might help (with 'rm \jobname.?? \jobnam
+     \def\^^M{}% for line continuation
+     \df \ifdoingtypefn \tt \else \sl \fi
+     \ifflagclear{txicodevaristt}{}%
+-       {\def\var##1{{\setregularquotes \ttsl ##1}}}%
++       % use \ttsl for @var in both @def* and @deftype*.
++       % the kern prevents an italic correction at end, which appears
++       % too much for ttsl.
++       {\def\var##1{{\setregularquotes \ttsl ##1\kern 0pt }}}%
+     #1%
+   \egroup
+ }
+@@ -7928,8 +8232,9 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\lparen = ( \let\rparen = )
+ % Be sure that we always have a definition for `(', etc.  For example,
+-% if the fn name has parens in it, \boldbrax will not be in effect yet,
+-% so TeX would otherwise complain about undefined control sequence.
++% if the fn name has parens in it, \parenbrackglyphs will not be in
++% effect yet, so TeX would otherwise complain about undefined control
++% sequence.
+ {
+   \activeparens
+   \gdef\defcharsdefault{%
+@@ -7939,49 +8244,28 @@ might help (with 'rm \jobname.?? \jobnam
+   }
+   \globaldefs=1 \defcharsdefault
+-  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
++  \gdef\parenbrackglyphs{\let(=\opnr\let)=\cpnr\let[=\lbrb\let]=\rbrb}
+   \gdef\magicamp{\let&=\amprm}
+ }
+ \let\ampchar\&
+-\newcount\parencount
+-
+-% If we encounter &foo, then turn on ()-hacking afterwards
+-\newif\ifampseen
+-\def\amprm#1 {\ampseentrue{\rm\&#1 }}
+-
+-\def\parenfont{%
+-  \ifampseen
+-    % At the first level, print parens in roman,
+-    % otherwise use the default font.
+-    \ifnum \parencount=1 \rm \fi
+-  \else
+-    % The \sf parens (in \boldbrax) actually are a little bolder than
+-    % the contained text.  This is especially needed for [ and ] .
+-    \sf
+-  \fi
+-}
+-\def\infirstlevel#1{%
+-  \ifampseen
+-    \ifnum\parencount=1
+-      #1%
+-    \fi
+-  \fi
+-}
+-\def\bfafterword#1 {#1 \bf}
++\def\amprm#1 {{\rm\&#1 }}
++\newcount\parencount
++% opening and closing parentheses in roman font
+ \def\opnr{%
++  \ptexslash % italic correction
+   \global\advance\parencount by 1
+-  {\parenfont(}%
+-  \infirstlevel \bfafterword
++  {\sf(}%
+ }
+-\def\clnr{%
+-  {\parenfont)}%
+-  \infirstlevel \sl
++\def\cpnr{%
++  \ptexslash % italic correction
++  {\sf)}%
+   \global\advance\parencount by -1
+ }
+ \newcount\brackcount
++% left and right square brackets in bold font
+ \def\lbrb{%
+   \global\advance\brackcount by 1
+   {\bf[}%
+@@ -8023,24 +8307,17 @@ might help (with 'rm \jobname.?? \jobnam
+   }
+ \fi
+-\let\E=\expandafter
+-
+ % Used at the time of macro expansion.
+ % Argument is macro body with arguments substituted
+ \def\scanmacro#1{%
+   \newlinechar`\^^M
+-  % expand the expansion of \eatleadingcr twice to maybe remove a leading
+-  % newline (and \else and \fi tokens), then call \eatspaces on the result.
+-  \def\xeatspaces##1{%
+-    \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1%
+-  }}%
+-  \def\xempty##1{}%
++  \def\xeatspaces##1{\eatleadingcrthen\eatspaces{##1}}%
+   %
+   % Process the macro body under the current catcode regime.
+   \scantokens{#1@comment}%
+   %
+   % The \comment is to remove the \newlinechar added by \scantokens, and
+-  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla
++  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla 
+   % in math mode.
+ }
+@@ -8087,10 +8364,12 @@ might help (with 'rm \jobname.?? \jobnam
+ \unbrace{\gdef\trim@@@ #1 } #2@{#1}
+ }
+-{\catcode`\^^M=\other%
+-\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}%
+-% Warning: this won't work for a delimited argument
+-% or for an empty argument
++% Trim a single leading ^^M off a string, then call #1
++{\catcode`\^^M=\active \catcode`\Q=3%
++\gdef\eatleadingcrthen #1#2{\eatlcra #1Q#2Q^^MQ}%
++\gdef\eatlcra #1#2Q^^M{\eatlcrb #1#2Q}%
++\gdef\eatlcrb #1Q#2Q#3Q{#1{#2}}%
++}
+ % Trim a single trailing ^^M off a string.
+ {\catcode`\^^M=\other \catcode`\Q=3%
+@@ -8226,6 +8505,10 @@ might help (with 'rm \jobname.?? \jobnam
+ % <parameter list> is #, then the preceding argument is delimited by
+ % an opening brace, and that opening brace is not consumed.
++% Make @ a letter, so that we can make private-to-Texinfo macro names.
++\edef\texiatcatcode{\the\catcode`\@}
++\catcode `@=11\relax
++
+ % Parse the optional {params} list to @macro or @rmacro.
+ % Set \paramno to the number of arguments,
+ % and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
+@@ -8233,19 +8516,18 @@ might help (with 'rm \jobname.?? \jobnam
+ % list to some hook where the argument is to be expanded.  If there are
+ % less than 10 arguments that hook is to be replaced by ##N where N
+ % is the position in that list, that is to say the macro arguments are to be
+-% defined `a la TeX in the macro body.
++% defined `a la TeX in the macro body.  
+ %
+ % That gets used by \mbodybackslash (above).
+ %
+ % If there are 10 or more arguments, a different technique is used: see
+-% \parsemmanyargdef.
++% \parsemmanyargdef@@.
+ %
+ \def\parsemargdef#1;{%
+   \paramno=0\def\paramlist{}%
+   \let\hash\relax
+   % \hash is redefined to `#' later to get it into definitions
+   \let\xeatspaces\relax
+-  \let\xempty\relax
+   \parsemargdefxxx#1,;,%
+   \ifnum\paramno<10\relax\else
+     \paramno0\relax
+@@ -8257,29 +8539,25 @@ might help (with 'rm \jobname.?? \jobnam
+   \else \let\next=\parsemargdefxxx
+     \advance\paramno by 1
+     \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+-        {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}%
++        {\xeatspaces{\hash\the\paramno}}%
+     \edef\paramlist{\paramlist\hash\the\paramno,}%
+   \fi\next}
+-% the \xempty{} is to give \eatleadingcr an argument in the case of an
+-% empty macro argument.
+ % \parsemacbody, \parsermacbody
+ %
+ % Read recursive and nonrecursive macro bodies. (They're different since
+ % rec and nonrec macros end differently.)
+-%
++% 
+ % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro
+ % body to be transformed.
+ % Set \macrobody to the body of the macro, and call \macrodef.
+ %
++\catcode `\@\texiatcatcode
+ {\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
+ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+ {\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
+ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+-
+-% Make @ a letter, so that we can make private-to-Texinfo macro names.
+-\edef\texiatcatcode{\the\catcode`\@}
+-\catcode `@=11\relax
++\catcode `\@=11\relax
+ %%%%%%%%%%%%%% Code for > 10 arguments only   %%%%%%%%%%%%%%%%%%
+@@ -8302,7 +8580,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % twice the \macarg.BLAH macros does not cost too much processing power.
+ \def\parsemmanyargdef@@#1,{%
+   \if#1;\let\next=\relax
+-  \else
++  \else 
+     \let\next=\parsemmanyargdef@@
+     \edef\tempb{\eatspaces{#1}}%
+     \expandafter\def\expandafter\tempa
+@@ -8387,7 +8665,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % Replace arguments by their values in the macro body, and place the result
+ % in macro \@tempa.
+-%
++% 
+ \def\macvalstoargs@{%
+   %  To do this we use the property that token registers that are \the'ed
+   % within an \edef  expand only once. So we are going to place all argument
+@@ -8411,9 +8689,9 @@ might help (with 'rm \jobname.?? \jobnam
+   \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+   }
+-% Define the named-macro outside of this group and then close this group.
+-%
+-\def\macargexpandinbody@{%
++% Define the named-macro outside of this group and then close this group. 
++% 
++\def\macargexpandinbody@{% 
+   \expandafter
+   \endgroup
+   \macargdeflist@
+@@ -8451,7 +8729,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ % Trailing missing arguments are set to empty.
+-%
++% 
+ \def\setemptyargvalues@{%
+   \ifx\paramlist\nilm@
+     \let\next\macargexpandinbody@
+@@ -8511,7 +8789,7 @@ might help (with 'rm \jobname.?? \jobnam
+     \expandafter\xdef\csname\the\macname\endcsname{%
+       \begingroup
+         \noexpand\spaceisspace
+-        \noexpand\endlineisspace
++        \noexpand\ignoreactivenewline
+         \noexpand\expandafter % skip any whitespace after the macro name.
+         \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+     \expandafter\xdef\csname\the\macname @@@\endcsname{%
+@@ -8529,7 +8807,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \else % at most 9
+     \ifnum\paramno<10\relax
+       % @MACNAME sets the context for reading the macro argument
+-      % @MACNAME@@ gets the argument, processes backslashes and appends a
++      % @MACNAME@@ gets the argument, processes backslashes and appends a 
+       % comma.
+       % @MACNAME@@@ removes braces surrounding the argument list.
+       % @MACNAME@@@@ scans the macro body with arguments substituted.
+@@ -8540,15 +8818,13 @@ might help (with 'rm \jobname.?? \jobnam
+         \noexpand\expandafter
+         \expandafter\noexpand\csname\the\macname @@\endcsname}%
+       \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+-          \noexpand\passargtomacro
+-          \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
++        \noexpand\passargtomacro
++        \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
+       \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+-          \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
+-      \expandafter\expandafter
+-      \expandafter\xdef
+-      \expandafter\expandafter
+-        \csname\the\macname @@@@\endcsname\paramlist{%
+-          \endgroup\noexpand\scanmacro{\macrobody}}%
++        \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
++      \expandaftergroup{\expandafter\xdef\csname\the\macname @@@@\endcsname}%
++                       \paramlist{%
++        \endgroup\noexpand\scanmacro{\macrobody}}%
+     \else % 10 or more:
+       \expandafter\xdef\csname\the\macname\endcsname{%
+         \noexpand\getargvals@{\the\macname}{\argl}%
+@@ -8560,6 +8836,16 @@ might help (with 'rm \jobname.?? \jobnam
+ \catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
++% utility definition to avoid excessive use of \expandafter.  call
++% as \expandaftergroup{CONTENT}\WORD to expand \WORD exactly once and remove
++% braces around CONTENT.
++\def\expandaftergroup#1#2{%
++  \expandafter\expandaftergroupx\expandafter{#2}{#1}%
++}
++\def\expandaftergroupx#1#2{%
++  #2#1%
++}
++
+ \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+@@ -8573,11 +8859,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % Call #1 with a list of tokens #2, with any doubled backslashes in #2
+ % compressed to one.
+ %
+-% This implementation works by expansion, and not execution (so we cannot use
+-% \def or similar).  This reduces the risk of this failing in contexts where
+-% complete expansion is done with no execution (for example, in writing out to
++% This implementation works by expansion, and not execution (so we cannot use 
++% \def or similar).  This reduces the risk of this failing in contexts where 
++% complete expansion is done with no execution (for example, in writing out to 
+ % an auxiliary file for an index entry).
+-%
++% 
+ % State is kept in the input stream: the argument passed to
+ % @look_ahead, @gobble_and_check_finish and @add_segment is
+ %
+@@ -8599,11 +8885,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % #3 - NEXT_TOKEN
+ % #4 used to look ahead
+ %
+-% If the next token is not a backslash, process the rest of the argument;
++% If the next token is not a backslash, process the rest of the argument; 
+ % otherwise, remove the next token.
+ @gdef@look_ahead#1!#2#3#4{%
+   @ifx#4\%
+-   @expandafter@gobble_and_check_finish
++   @expandafter@gobble_and_check_finish 
+   @else
+    @expandafter@add_segment
+   @fi#1!{#2}#4#4%
+@@ -8627,9 +8913,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % #3 - NEXT_TOKEN
+ % #4 is input stream until next backslash
+ %
+-% Input stream is either at the start of the argument, or just after a
+-% backslash sequence, either a lone backslash, or a doubled backslash.
+-% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
++% Input stream is either at the start of the argument, or just after a 
++% backslash sequence, either a lone backslash, or a doubled backslash.  
++% NEXT_TOKEN contains the first token in the input stream: if it is \finish, 
+ % finish; otherwise, append to ARG_RESULT the segment of the argument up until
+ % the next backslash.  PENDING_BACKSLASH contains a backslash to represent
+ % a backslash just before the start of the input stream that has not been
+@@ -8641,13 +8927,13 @@ might help (with 'rm \jobname.?? \jobnam
+   % append the pending backslash to the result, followed by the next segment
+   @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
+   % this @fi is discarded by @look_ahead.
+-  % we can't get rid of it with \expandafter because we don't know how
++  % we can't get rid of it with \expandafter because we don't know how 
+   % long #4 is.
+ }
+ % #1 - THE_MACRO
+ % #2 - ARG_RESULT
+-% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
++% #3 discards the res of the conditional in @add_segment, and @is_fi ends the 
+ % conditional.
+ @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
+@@ -8659,7 +8945,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % for reading the argument (slightly different in the two cases).  Then,
+ % to read the argument, in the whole-line case, it then calls the regular
+ % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
+-%
++% 
+ \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
+ \def\braceorlinexxx{%
+   \ifx\nchar\bgroup
+@@ -8729,9 +9015,8 @@ might help (with 'rm \jobname.?? \jobnam
+     \expandafter\noexpand
+     \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro
+   }
+-  \expandafter\expandafter
+-  \expandafter\xdef
+-  \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
++  \expandaftergroup{\expandafter\xdef\csname\the\macname @@@\endcsname}%
++                     \paramlist{%
+     \newlinechar=13 % split \macrobody into lines
+     \noexpand\scantokens{\macrobody}%
+   }
+@@ -8782,7 +9067,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % Used so that the @top node doesn't have to be wrapped in an @ifnottex
+ % conditional.
+-% \doignore goes to more effort to skip nested conditionals but we don't need
++% \doignore goes to more effort to skip nested conditionals but we don't need 
+ % that here.
+ \def\omittopnode{%
+    \ifx\lastnode\wordTop
+@@ -8806,14 +9091,19 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\lastnode=\empty
+ % Write a cross-reference definition for the current node.  #1 is the
+-% type (Ynumbered, Yappendix, Ynothing).
++% type (Ynumbered, Yappendix, Ynothing).  #2 is the section title.
+ %
+-\def\donoderef#1{%
++\def\donoderef#1#2{%
+   \ifx\lastnode\empty\else
+-    \setref{\lastnode}{#1}%
++    \setref{\lastnode}{#1}{#2}%
+     \global\let\lastnode=\empty
++    \setnodeseenonce
+   \fi
+ }
++\def\setnodeseenonce{
++  \global\nodeseentrue
++  \let\setnodeseenonce\relax
++}
+ % @nodedescription, @nodedescriptionblock - do nothing for TeX
+ \parseargdef\nodedescription{}
+@@ -8826,21 +9116,28 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+ \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
++\def\anchor#1{%
++  \savesf \setref{#1}{Yanchor}{#1}\restoresf \ignorespaces
++}
++
++% @namedanchor{NAME, XREFNAME} -- define xref target at arbitrary point
++% with label text for cross-references to it.
++\def\namedanchor#1{\donamedanchor#1\finish}%
++\def\donamedanchor#1,#2\finish{%
++  \savesf \setref{#1}{Yanchor}{\ignorespaces #2\unskip}\restoresf \ignorespaces
++}
+-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
+-% anchor), which consists of three parts:
+-% 1) NAME-title - the current sectioning name taken from \currentsection,
+-%                 or the anchor name.
+-% 2) NAME-snt   - section number and type, passed as the SNT arg, or
+-%                 empty for anchors.
++% \setref{NAME}{SNT}{TITLE} defines a cross-reference point NAME (a node
++% or an anchor), which consists of three parts:
++% 1) NAME-title - the current sectioning name
++% 2) NAME-snt   - section number and type, passed as the SNT arg.
+ % 3) NAME-pg    - the page number.
+ %
+ % This is called from \donoderef, \anchor, and \dofloat.  In the case of
+ % floats, there is an additional part, which is not written here:
+ % 4) NAME-lof   - the text as it should appear in a @listoffloats.
+ %
+-\def\setref#1#2{%
++\def\setref#1#2#3{%
+   \pdfmkdest{#1}%
+   \iflinks
+     {%
+@@ -8852,7 +9149,7 @@ might help (with 'rm \jobname.?? \jobnam
+       \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+         ##1}{##2}}% these are parameters of \writexrdef
+       }%
+-      \toks0 = \expandafter{\currentsection}%
++      \toks0 = {#3}%
+       \immediate \writexrdef{title}{\the\toks0 }%
+       \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+       \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
+@@ -8864,7 +9161,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % automatically in xrefs, if the third arg is not explicitly specified.
+ % This was provided as a "secret" @set xref-automatic-section-title
+ % variable, now it's official.
+-%
++% 
+ \parseargdef\xrefautomaticsectiontitle{%
+   \def\temp{#1}%
+   \ifx\temp\onword
+@@ -8880,7 +9177,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \fi\fi
+ }
+-%
++% \f
+ % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
+ % the node name, #2 the name of the Info cross-reference, #3 the printed
+ % node name, #4 the name of the Info file, #5 the name of the printed
+@@ -8906,15 +9203,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+   %
+   \startxreflink{#1}{#4}%
+-  {%
+-    % Have to otherify everything special to allow the \csname to
+-    % include an _ in the xref name, etc.
+-    \indexnofonts
+-    \turnoffactive
+-    \def\value##1{##1}%
+-    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+-      \csname XR#1-title\endcsname
+-  }%
++  \getrefx{#1-title}\Xthisreftitle
+   %
+   % Float references are printed completely differently: "Figure 1.2"
+   % instead of "[somenode], p.3".  \iffloat distinguishes them by
+@@ -8947,21 +9236,23 @@ might help (with 'rm \jobname.?? \jobnam
+       % Cross-manual reference with a printed manual name.
+       %
+       \crossmanualxref{\cite{\printedmanual\unskip}}%
+-    %
+     \else\ifdim \wd\infofilenamebox > 0pt
+       % Cross-manual reference with only an info filename (arg 4), no
+       % printed manual name (arg 5).  This is essentially the same as
+       % the case above; we output the filename, since we have nothing else.
+       %
+       \crossmanualxref{\code{\infofilename\unskip}}%
+-    %
+     \else
+       % Reference within this manual.
+       %
+-      % Only output a following space if the -snt ref is nonempty, as the ref
+-      % will be empty for @unnumbered and @anchor.
+-      \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}%
+-      \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
++      % Only output a following space if the -snt ref is nonempty, as is
++      % the case for @unnumbered and @anchor.
++      \getrefx{#1-snt}\tmp
++      \ifx\tmp\empty\else
++        \ifx\tmp\Yanchor\else
++          \tmp\space
++        \fi
++      \fi
+       %
+       % output the `[mynode]' via the macro below so it can be overridden.
+       \xrefprintnodename\printedrefname
+@@ -9017,7 +9308,7 @@ might help (with 'rm \jobname.?? \jobnam
+         \else
+           % Otherwise just copy the Info node name.
+           \def\printedrefname{\ignorespaces #1}%
+-        \fi%
++        \fi
+       \fi
+     \fi
+   \fi
+@@ -9049,7 +9340,7 @@ might help (with 'rm \jobname.?? \jobnam
+        \ifnum\filenamelength>0
+          goto file{\the\filename.pdf} name{\pdfdestname}%
+        \else
+-         goto name{\pdfmkpgn{\pdfdestname}}%
++         goto name{\pdfdestname}%
+        \fi
+      \else % XeTeX
+        \ifnum\filenamelength>0
+@@ -9078,20 +9369,20 @@ might help (with 'rm \jobname.?? \jobnam
+   \space\putwordpage\tie\refx{#1-pg}}
+ % Output a cross-manual xref to #1.  Used just above (twice).
+-%
++% 
+ % Only include the text "Section ``foo'' in" if the foo is neither
+ % missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
+ % "see The Foo Manual", the idea being to refer to the whole manual.
+-%
++% 
+ % But, this being TeX, we can't easily compare our node name against the
+ % string "Top" while ignoring the possible spaces before and after in
+ % the input.  By adding the arbitrary 7sp below, we make it much less
+ % likely that a real node name would have the same width as "Top" (e.g.,
+ % in a monospaced font).  Hopefully it will never happen in practice.
+-%
++% 
+ % For the same basic reason, we retypeset the "Top" at every
+ % reference, since the current font is indeterminate.
+-%
++% 
+ \def\crossmanualxref#1{%
+   \setbox\toprefbox = \hbox{Top\kern7sp}%
+   \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+@@ -9129,6 +9420,7 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\Ynothing{}
+ \def\Yomitfromtoc{}
++\def\Yanchor{\isanchor} \let\isanchor\relax
+ \def\Ynumbered{%
+   \ifnum\secno=0
+     \putwordChapter@tie \the\chapno
+@@ -9155,14 +9447,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % \refx{NAME} - reference a cross-reference string named NAME.
+ \def\refx#1{%
+-  \requireauxfile
+-  {%
+-    \indexnofonts
+-    \turnoffactive
+-    \def\value##1{##1}%
+-    \expandafter\global\expandafter\let\expandafter\thisrefX
+-      \csname XR#1\endcsname
+-  }%
++  \getrefx{#1}\thisrefX
+   \ifx\thisrefX\relax
+     % If not defined, say something at least.
+     \angleleft un\-de\-fined\angleright
+@@ -9183,9 +9468,20 @@ might help (with 'rm \jobname.?? \jobnam
+   \fi
+ }
+-% This is the macro invoked by entries in the aux file.  Define a control
+-% sequence for a cross-reference target (we prepend XR to the control sequence
+-% name to avoid collisions).  The value is the page number.  If this is a float
++% Set #2 to xref string #1
++\def\getrefx#1#2{%
++  \requireauxfile
++  {%
++    \indexnofonts
++    \turnoffactive
++    \def\value##1{##1}%
++    \expandafter\global\expandafter\let\expandafter#2\csname XR#1\endcsname
++  }%
++}
++
++% This is the macro invoked by entries in the aux file.  Define a control 
++% sequence for a cross-reference target (we prepend XR to the control sequence 
++% name to avoid collisions).  The value is the page number.  If this is a float 
+ % type, we have more work to do.
+ %
+ \def\xrdef#1#2{%
+@@ -9201,10 +9497,10 @@ might help (with 'rm \jobname.?? \jobnam
+   \bgroup
+     \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
+   \egroup
+-  % We put the \gdef inside a group to avoid the definitions building up on
+-  % TeX's save stack, which can cause it to run out of space for aux files with
++  % We put the \gdef inside a group to avoid the definitions building up on 
++  % TeX's save stack, which can cause it to run out of space for aux files with 
+   % thousands of lines.  \gdef doesn't use the save stack, but \csname does
+-  % when it defines an unknown control sequence as \relax.
++  % when it defines an unknown control sequence as \relax. 
+   %
+   % Was that xref control sequence that we just defined for a float?
+   \expandafter\iffloat\csname XR\safexrefname\endcsname
+@@ -9225,6 +9521,7 @@ might help (with 'rm \jobname.?? \jobnam
+     \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
+       {\safexrefname}}%
+   \fi
++  \ignorespaces % ignore ends of line in aux file
+ }
+ % If working on a large document in chapters, it is convenient to
+@@ -9247,12 +9544,14 @@ might help (with 'rm \jobname.?? \jobnam
+ % Read the last existing aux file, if any.  No error if none exists.
+ %
+ \def\tryauxfile{%
++  \ifxetex\xetexpreauxfile\fi
+   \openin 1 \jobname.aux
+   \ifeof 1 \else
+     \readdatafile{aux}%
+     \global\havexrefstrue
+   \fi
+   \closein 1
++  \ifxetex\xetexpostauxfile\fi
+ }
+ \def\setupdatafile{%
+@@ -9335,7 +9634,10 @@ might help (with 'rm \jobname.?? \jobnam
+ % Auto-number footnotes.  Otherwise like plain.
+ \gdef\footnote{%
+   \global\advance\footnoteno by \@ne
+-  \edef\thisfootno{$^{\the\footnoteno}$}%
++  %
++  % Output for the footnote marker.  If we are immediately after another
++  % footnote, output a comma and small space first.
++  \edef\thisfootno{$^{\ifnum\lastpenalty=3 ,\mskip 1mu \fi\the\footnoteno}$}%
+   %
+   % In case the footnote comes at the end of a sentence, preserve the
+   % extra spacing after we do the footnote number.
+@@ -9344,19 +9646,25 @@ might help (with 'rm \jobname.?? \jobnam
+   %
+   % Remove inadvertent blank space before typesetting the footnote number.
+   \unskip
+-  \thisfootno\@sf
++  %
++  % \scriptspace is 0.5pt by default and gives excessive space before the
++  % comma if we have multiple footnote markers in a row.
++  \bgroup\scriptspace=0pt
++    \thisfootno\@sf
++  \egroup
+   \dofootnote
+ }%
+-% Don't bother with the trickery in plain.tex to not require the
+-% footnote text as a parameter.  Our footnotes don't need to be so general.
+-%
+-% Oh yes, they do; otherwise, @ifset (and anything else that uses
+-% \parseargline) fails inside footnotes because the tokens are fixed when
+-% the footnote is read.  --karl, 16nov96.
++% marker for immediately after a footnote marker
++\gdef\footnoteendmarker{\penalty3 }
++
++% Do not require the footnote text as a parameter; otherwise, @ifset
++% (and anything else that uses \parseargline) fails inside footnotes
++% because the tokens are fixed when the footnote is read.
+ %
+ \gdef\dofootnote{%
+   \insert\footins\bgroup
++  \aftergroup\footnoteendmarker
+   %
+   % Nested footnotes are not supported in TeX, that would take a lot
+   % more work.  (\startsavinginserts does not suffice.)
+@@ -9387,14 +9695,14 @@ might help (with 'rm \jobname.?? \jobnam
+   % Hang the footnote text off the number.  Use \everypar in case the
+   % footnote extends for more than one paragraph.
+   \everypar = {\hang}%
+-  \textindent{\thisfootno}%
++  \textindent{$^{\the\footnoteno}$}%
+   %
+   % Don't crash into the line above the footnote text.  Since this
+   % expands into a box, it must come within the paragraph, lest it
+   % provide a place where TeX can split the footnote.
+   \footstrut
+   %
+-  % Invoke rest of plain TeX footnote routine.
++  % Eat opening brace and invoke rest of plain TeX footnote routine.
+   \futurelet\next\fo@t
+ }
+ }%end \catcode `\@=11
+@@ -9551,7 +9859,9 @@ might help (with 'rm \jobname.?? \jobnam
+     % For pdfTeX and LuaTeX <= 0.80
+     \dopdfimage{#1}{#2}{#3}%
+   \else
+-    \ifx\XeTeXrevision\thisisundefined
++    \ifxetex
++      \doxeteximage{#1}{#2}{#3}%
++    \else
+       % For epsf.tex
+       % \epsfbox itself resets \epsf?size at each figure.
+       \setbox0 = \hbox{\ignorespaces #2}%
+@@ -9559,9 +9869,6 @@ might help (with 'rm \jobname.?? \jobnam
+       \setbox0 = \hbox{\ignorespaces #3}%
+         \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+       \epsfbox{#1.eps}%
+-    \else
+-      % For XeTeX
+-      \doxeteximage{#1}{#2}{#3}%
+     \fi
+   \fi
+   %
+@@ -9639,14 +9946,15 @@ might help (with 'rm \jobname.?? \jobnam
+       \global\advance\floatno by 1
+       %
+       {%
+-        % This magic value for \currentsection is output by \setref as the
+-        % XREFLABEL-title value.  \xrefX uses it to distinguish float
++        % This magic value for the third argument of \setref is output as
++        % the XREFLABEL-title value.  \xrefX uses it to distinguish float
+         % labels (which have a completely different output format) from
+         % node and anchor labels.  And \xrdef uses it to construct the
+         % lists of floats.
+         %
+-        \edef\currentsection{\floatmagic=\safefloattype}%
+-        \setref{\floatlabel}{Yfloat}%
++        \edef\tmp{\noexpand\setref{\noexpand\floatlabel}{Yfloat}%
++                  {\floatmagic=\safefloattype}}%
++        \tmp
+       }%
+     \fi
+     %
+@@ -9768,7 +10076,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % #1 is the control sequence we are passed; we expand into a conditional
+ % which is true if #1 represents a float ref.  That is, the magic
+-% \currentsection value which we \setref above.
++% value which we passed to \setref above.
+ %
+ \def\iffloat#1{\expandafter\doiffloat#1==\finish}
+ %
+@@ -9825,6 +10133,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+   %
+   % use the same \entry macro we use to generate the TOC and index.
++  \let\entry\entryinternal
+   \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+   \writeentry
+ }}
+@@ -9860,8 +10169,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
+   \openin 1 txi-#1.tex
+   \ifeof 1
+-    \errhelp = \nolanghelp
+-    \errmessage{Cannot read language file txi-#1.tex}%
++    \def\lang{#1}%
++    \def\enword{en}%
++    \ifx\lang\enword
++      % for English only, keep on going rather than issuing a fatal error
++      % message, as txi-en.tex likely doesn't contain any changes from the
++      % defaults.  note that this is a problem if we already loaded another
++      % language file and want to switch back to English.
++      \message{Cannot read language file txi-#1.tex}%
++    \else
++      \errhelp = \nolanghelp
++      \errmessage{Cannot read language file txi-#1.tex}%
++    \fi
+   \else
+     \globaldefs = 1  % everything in the txi-LL files needs to persist
+     \input txi-#1.tex
+@@ -9907,35 +10226,40 @@ directory should work if nowhere else do
+ \newif\iftxinativeunicodecapable
+ \newif\iftxiusebytewiseio
+-\ifx\XeTeXrevision\thisisundefined
+-  \ifx\luatexversion\thisisundefined
+-    \txinativeunicodecapablefalse
+-    \txiusebytewiseiotrue
+-  \else
++\ifxetex
++  \txinativeunicodecapabletrue
++  \txiusebytewiseiofalse
++\else
++  \ifluatex
+     \txinativeunicodecapabletrue
+     \txiusebytewiseiofalse
++  \else
++    \txinativeunicodecapablefalse
++    \txiusebytewiseiotrue
+   \fi
+-\else
+-  \txinativeunicodecapabletrue
+-  \txiusebytewiseiofalse
+ \fi
++\let\xetexpreauxfile\relax
++\let\xetexpostauxfile\relax
++
+ % Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
+ % for non-UTF-8 (byte-wise) encodings.
+ %
+ \def\setbytewiseio{%
+-  \ifx\XeTeXrevision\thisisundefined
+-  \else
+-    \XeTeXdefaultencoding "bytes"  % For subsequent files to be read
+-    \XeTeXinputencoding "bytes"  % For document root file
+-    % Unfortunately, there seems to be no corresponding XeTeX command for
+-    % output encoding.  This is a problem for auxiliary index and TOC files.
+-    % The only solution would be perhaps to write out @U{...} sequences in
+-    % place of non-ASCII characters.
++  \ifxetex
++    % For document root file
++    \XeTeXinputencoding "bytes"
++    %
++    % Setting for subsequent files to be read with @include.
++    \XeTeXdefaultencoding "bytes"
++    %
++    % Use UTF-8 for reading auxiliary index and TOC files, which are
++    % always output in UTF-8 with XeTeX.
++    \def\xetexpreauxfile{\XeTeXdefaultencoding "UTF-8"}%
++    \def\xetexpostauxfile{\XeTeXdefaultencoding "bytes"}%
+   \fi
+-  \ifx\luatexversion\thisisundefined
+-  \else
++  \ifluatex
+     \directlua{
+     local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
+     local function convert_char (char)
+@@ -10044,8 +10368,7 @@ directory should work if nowhere else do
+   \fi % lattwo
+   \fi % ascii
+   %
+-  \ifx\XeTeXrevision\thisisundefined
+-  \else
++  \ifxetex
+     \ifx \declaredencoding \utfeight
+     \else
+       \ifx \declaredencoding \ascii
+@@ -10328,11 +10651,15 @@ directory should work if nowhere else do
+ \gdef\UTFviiiDefined#1{%
+   \ifx #1\relax
+-    \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
++    \ifutfviiidefinedwarning
++      \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
++    \fi
+   \else
+     \expandafter #1%
+   \fi
+ }
++\newif\ifutfviiidefinedwarning
++\utfviiidefinedwarningtrue
+ % Give non-ASCII bytes the active definitions for processing UTF-8 sequences
+ \begingroup
+@@ -10342,8 +10669,8 @@ directory should work if nowhere else do
+   % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
+   % substituting ~ and $ with a character token of that value.
+-  \def\UTFviiiLoop{%
+-    \global\catcode\countUTFx\active
++  \gdef\UTFviiiLoop{%
++    \catcode\countUTFx\active
+     \uccode`\~\countUTFx
+     \uccode`\$\countUTFx
+     \uppercase\expandafter{\UTFviiiTmp}%
+@@ -10351,7 +10678,7 @@ directory should work if nowhere else do
+     \ifnum\countUTFx < \countUTFy
+       \expandafter\UTFviiiLoop
+     \fi}
+-
++  %
+   % For bytes other than the first in a UTF-8 sequence.  Not expected to
+   % be expanded except when writing to auxiliary files.
+   \countUTFx = "80
+@@ -10385,6 +10712,16 @@ directory should work if nowhere else do
+         \else\expandafter\UTFviiiFourOctets\expandafter$\fi
+         }}%
+   \UTFviiiLoop
++  %
++  % for pdftex only, used to expand ASCII to UTF-16BE.
++  \gdef\asciitounicode{%
++    \countUTFx = "20
++    \countUTFy = "80
++    \def\UTFviiiTmp{%
++      \def~{\nullbyte $}}%
++    \UTFviiiLoop
++  }
++  {\catcode0=11 \gdef\nullbyte{^^00}}%
+ \endgroup
+ \def\globallet{\global\let} % save some \expandafter's below
+@@ -10401,7 +10738,7 @@ directory should work if nowhere else do
+         \uppercase{.}
+       \endgroup
+     \else
+-      \errhelp = \EMsimple
++      \errhelp = \EMsimple    
+       \errmessage{Unicode character U+#1 not supported, sorry}%
+     \fi
+   \else
+@@ -10409,8 +10746,8 @@ directory should work if nowhere else do
+   \fi
+ }
+-% These macros are used here to construct the name of a control
+-% sequence to be defined.
++% These macros are used here to construct the names of macros
++% that expand to the definitions for UTF-8 sequences.
+ \def\UTFviiiTwoOctetsName#1#2{%
+   \csname u8:#1\string #2\endcsname}%
+ \def\UTFviiiThreeOctetsName#1#2#3{%
+@@ -10418,6 +10755,35 @@ directory should work if nowhere else do
+ \def\UTFviiiFourOctetsName#1#2#3#4{%
+   \csname u8:#1\string #2\string #3\string #4\endcsname}%
++% generate UTF-16 from codepoint
++\def\utfsixteentotoks#1#2{%
++  \countUTFz = "#2\relax
++  \ifnum \countUTFz > 65535
++    % doesn't work for codepoints > U+FFFF
++    % we don't define glyphs for any of these anyway, so it doesn't matter
++    #1={U+#2}%
++  \else
++    \countUTFx = \countUTFz
++    \divide\countUTFx by 256
++    \countUTFy = \countUTFx
++    \multiply\countUTFx by 256
++    \advance\countUTFz by -\countUTFx
++    \uccode`,=\countUTFy
++    \uccode`;=\countUTFz
++    \ifnum\countUTFy = 0
++      \uppercase{#1={\nullbyte\string;}}%
++    \else\ifnum\countUTFz = 0
++      \uppercase{#1={\string,\nullbyte}}%
++    \else
++      \uppercase{#1={\string,\string;}}%
++    \fi\fi
++    % NB \uppercase cannot insert a null byte
++  \fi
++}
++
++\newif\ifutfbytespdf
++\utfbytespdffalse
++
+ % For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
+ % provide a definition macro to replace a Unicode character;
+ % this gets used by the @U command
+@@ -10434,19 +10800,23 @@ directory should work if nowhere else do
+     \countUTFz = "#1\relax
+     \begingroup
+       \parseXMLCharref
+-
+-      % Give \u8:... its definition.  The sequence of seven \expandafter's
+-      % expands after the \gdef three times, e.g.
+       %
++      % Completely expand \UTFviiiTmp, which looks like:
+       % 1.  \UTFviiTwoOctetsName B1 B2
+       % 2.  \csname u8:B1 \string B2 \endcsname
+       % 3.  \u8: B1 B2  (a single control sequence token)
++      \xdef\UTFviiiTmp{\UTFviiiTmp}%
+       %
+-      \expandafter\expandafter
+-      \expandafter\expandafter
+-      \expandafter\expandafter
+-      \expandafter\gdef       \UTFviiiTmp{#2}%
+-      %
++      \ifpdf
++        \toksA={#2}%
++        \utfsixteentotoks\toksB{#1}%
++        \expandafter\xdef\UTFviiiTmp{%
++          \noexpand\ifutfbytespdf\noexpand\utfbytes{\the\toksB}%
++          \noexpand\else\the\toksA\noexpand\fi}%
++      \else
++        \expandafter\gdef\UTFviiiTmp{#2}%
++      \fi
++      % 
+       \expandafter\ifx\csname uni:#1\endcsname \relax \else
+        \message{Internal error, already defined: #1}%
+       \fi
+@@ -10455,8 +10825,9 @@ directory should work if nowhere else do
+       \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
+     \endgroup}
+   %
+-  % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
+-  % to the corresponding UTF-8 sequence.
++  % Given the value in \countUTFz as a Unicode code point, set
++  % \UTFviiiTmp to one of the \UTVviii*OctetsName macros followed by
++  % the corresponding UTF-8 sequence.
+   \gdef\parseXMLCharref{%
+     \ifnum\countUTFz < "20\relax
+       \errhelp = \EMsimple
+@@ -10485,7 +10856,7 @@ directory should work if nowhere else do
+     \divide\countUTFz by 64
+     \countUTFy = \countUTFz  % Save to be the future value of \countUTFz.
+     \multiply\countUTFz by 64
+-
++    
+     % \countUTFz is now \countUTFx with the last 5 bits cleared.  Subtract
+     % in order to get the last five bits.
+     \advance\countUTFx by -\countUTFz
+@@ -10515,12 +10886,22 @@ directory should work if nowhere else do
+   \catcode"#1=\other
+ }
++% Suppress ligature creation from adjacent characters.
++\ifluatex
++  % Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice
++  % to suppress the "ff" ligature.  Using a kern appears to be the only
++  % workaround.
++  \def\nolig{\kern0pt{}}
++\else
++  \def\nolig{{}}
++\fi
++
+ % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
+ % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
+ % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
+ % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
+ % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
+-%
++% 
+ % Many of our renditions are less than wonderful, and all the missing
+ % characters are available somewhere.  Loading the necessary fonts
+ % awaits user request.  We can't truly support Unicode without
+@@ -11132,8 +11513,8 @@ directory should work if nowhere else do
+   % Punctuation
+   \DeclareUnicodeCharacter{2013}{--}%
+   \DeclareUnicodeCharacter{2014}{---}%
+-  \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
+-  \DeclareUnicodeCharacter{2019}{\quoteright{}}%
++  \DeclareUnicodeCharacter{2018}{\quoteleft\nolig}%
++  \DeclareUnicodeCharacter{2019}{\quoteright\nolig}%
+   \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
+   \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
+   \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
+@@ -11168,7 +11549,7 @@ directory should work if nowhere else do
+   \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
+   %
+   \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
+-  \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
++  \DeclareUnicodeCharacter{2032}{\ensuremath{^\prime}}%
+   \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
+   \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
+   \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
+@@ -11291,6 +11672,25 @@ directory should work if nowhere else do
+   %
+   \global\mathchardef\checkmark="1370% actually the square root sign
+   \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
++  %
++  % These are all the combining accents.  We need these empty definitions
++  % at present for the sake of PDF outlines.
++  \DeclareUnicodeCharacter{0300}{}%
++  \DeclareUnicodeCharacter{0301}{}%
++  \DeclareUnicodeCharacter{0302}{}%
++  \DeclareUnicodeCharacter{0303}{}%
++  \DeclareUnicodeCharacter{0305}{}%
++  \DeclareUnicodeCharacter{0306}{}%
++  \DeclareUnicodeCharacter{0307}{}%
++  \DeclareUnicodeCharacter{0308}{}%
++  \DeclareUnicodeCharacter{030A}{}%
++  \DeclareUnicodeCharacter{030B}{}%
++  \DeclareUnicodeCharacter{030C}{}%
++  \DeclareUnicodeCharacter{0323}{}%
++  \DeclareUnicodeCharacter{0327}{}%
++  \DeclareUnicodeCharacter{0328}{}%
++  \DeclareUnicodeCharacter{0331}{}%
++  \DeclareUnicodeCharacter{0361}{}%
+ }% end of \unicodechardefs
+ % UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
+@@ -11429,12 +11829,12 @@ directory should work if nowhere else do
+     \pdfhorigin = 1 true in
+     \pdfvorigin = 1 true in
+   \else
+-    \ifx\XeTeXrevision\thisisundefined
+-      \special{papersize=#8,#7}%
+-    \else
++    \ifxetex
+       \pdfpageheight #7\relax
+       \pdfpagewidth #8\relax
+       % XeTeX does not have \pdfhorigin and \pdfvorigin.
++    \else
++      \special{papersize=#8,#7}%
+     \fi
+   \fi
+   %
+@@ -11634,21 +12034,21 @@ directory should work if nowhere else do
+   #1#2#3=\countB\relax
+ }
+-\ifx\XeTeXrevision\thisisundefined
+-  \ifx\luatexversion\thisisundefined
++\ifxetex % XeTeX
++  \mtsetprotcode\textrm
++  \def\mtfontexpand#1{}
++\else
++  \ifluatex % LuaTeX
++    \mtsetprotcode\textrm
++    \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
++  \else
+     \ifpdf % pdfTeX
+       \mtsetprotcode\textrm
+       \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
+     \else % TeX
+       \def\mtfontexpand#1{}
+     \fi
+-  \else % LuaTeX
+-    \mtsetprotcode\textrm
+-    \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
+   \fi
+-\else % XeTeX
+-  \mtsetprotcode\textrm
+-  \def\mtfontexpand#1{}
+ \fi
+@@ -11657,18 +12057,18 @@ directory should work if nowhere else do
+ \def\microtypeON{%
+   \microtypetrue
+   %
+-  \ifx\XeTeXrevision\thisisundefined
+-    \ifx\luatexversion\thisisundefined
++  \ifxetex % XeTeX
++    \XeTeXprotrudechars=2
++  \else
++    \ifluatex % LuaTeX
++      \adjustspacing=2
++      \protrudechars=2
++    \else
+       \ifpdf % pdfTeX
+         \pdfadjustspacing=2
+         \pdfprotrudechars=2
+       \fi
+-    \else % LuaTeX
+-      \adjustspacing=2
+-      \protrudechars=2
+     \fi
+-  \else % XeTeX
+-    \XeTeXprotrudechars=2
+   \fi
+   %
+   \mtfontexpand\textrm
+@@ -11679,18 +12079,18 @@ directory should work if nowhere else do
+ \def\microtypeOFF{%
+   \microtypefalse
+   %
+-  \ifx\XeTeXrevision\thisisundefined
+-    \ifx\luatexversion\thisisundefined
++  \ifxetex % XeTeX
++    \XeTeXprotrudechars=0
++  \else
++    \ifluatex % LuaTeX
++      \adjustspacing=0
++      \protrudechars=0
++    \else
+       \ifpdf % pdfTeX
+         \pdfadjustspacing=0
+         \pdfprotrudechars=0
+       \fi
+-    \else % LuaTeX
+-      \adjustspacing=0
+-      \protrudechars=0
+     \fi
+-  \else % XeTeX
+-    \XeTeXprotrudechars=0
+   \fi
+ }
+@@ -11765,7 +12165,7 @@ directory should work if nowhere else do
+ \def\texinfochars{%
+   \let< = \activeless
+   \let> = \activegtr
+-  \let~ = \activetilde
++  \let~ = \activetilde 
+   \let^ = \activehat
+   \setregularquotes
+   \let\b = \strong
+--- gcl27-2.7.1.orig/xgcl-2/Events.c
++++ gcl27-2.7.1/xgcl-2/Events.c
+@@ -26,202 +26,187 @@
+ #include <X11/Xlib.h>
+ /********* XKeyEvent functions *****/
+-
+-long  make_XKeyEvent (){
++long 
++make_XKeyEvent (void){
+           return ((long) calloc(1, sizeof(XKeyEvent)));
+ }
+-int  XKeyEvent_same_screen(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_same_screen (XKeyEvent* i)
+ {
+           return(i->same_screen);
+ }
+-void set_XKeyEvent_same_screen(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_same_screen (XKeyEvent *i, int j)
+ {
+           i->same_screen = j;
+ }
+-int  XKeyEvent_keycode(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_keycode (XKeyEvent *i)
+ {
+           return(i->keycode);
+ }
+-void set_XKeyEvent_keycode(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_keycode (XKeyEvent *i, int j)
+ {
+           i->keycode = j;
+ }
+-int  XKeyEvent_state(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_state (XKeyEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XKeyEvent_state(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_state (XKeyEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XKeyEvent_y_root(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_y_root (XKeyEvent *i)
+ {
+           return(i->y_root);
+ }
+-void set_XKeyEvent_y_root(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_y_root (XKeyEvent *i, int j)
+ {
+           i->y_root = j;
+ }
+-int  XKeyEvent_x_root(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_x_root (XKeyEvent *i)
+ {
+           return(i->x_root);
+ }
+-void set_XKeyEvent_x_root(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_x_root (XKeyEvent *i, int j)
+ {
+           i->x_root = j;
+ }
+-int  XKeyEvent_y(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_y (XKeyEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XKeyEvent_y(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_y (XKeyEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XKeyEvent_x(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_x (XKeyEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XKeyEvent_x(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_x (XKeyEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XKeyEvent_time(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_time (XKeyEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XKeyEvent_time(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_time (XKeyEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XKeyEvent_subwindow(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_subwindow (XKeyEvent *i)
+ {
+           return(i->subwindow);
+ }
+-void set_XKeyEvent_subwindow(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_subwindow (XKeyEvent *i, int j)
+ {
+           i->subwindow = j;
+ }
+-int  XKeyEvent_root(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_root (XKeyEvent *i)
+ {
+           return(i->root);
+ }
+-void set_XKeyEvent_root(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_root (XKeyEvent *i, int j)
+ {
+           i->root = j;
+ }
+-int  XKeyEvent_window(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_window (XKeyEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XKeyEvent_window(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_window (XKeyEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XKeyEvent_display(i)
+-XKeyEvent* i;
++long 
++XKeyEvent_display (XKeyEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XKeyEvent_display(i, j)
+-XKeyEvent* i;
+-long j;
++void 
++set_XKeyEvent_display (XKeyEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XKeyEvent_send_event(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_send_event (XKeyEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XKeyEvent_send_event(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_send_event (XKeyEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XKeyEvent_serial(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_serial (XKeyEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XKeyEvent_serial(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_serial (XKeyEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XKeyEvent_type(i)
+-XKeyEvent* i;
++int 
++XKeyEvent_type (XKeyEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XKeyEvent_type(i, j)
+-XKeyEvent* i;
+-int j;
++void 
++set_XKeyEvent_type (XKeyEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -229,201 +214,187 @@ int j;
+ /********* XButtonEvent functions *****/
+-long  make_XButtonEvent (){
++long 
++make_XButtonEvent (void){
+           return ((long) calloc(1, sizeof(XButtonEvent)));
+ }
+-int  XButtonEvent_same_screen(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_same_screen (XButtonEvent *i)
+ {
+           return(i->same_screen);
+ }
+-void set_XButtonEvent_same_screen(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_same_screen (XButtonEvent *i, int j)
+ {
+           i->same_screen = j;
+ }
+-int  XButtonEvent_button(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_button (XButtonEvent *i)
+ {
+           return(i->button);
+ }
+-void set_XButtonEvent_button(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_button (XButtonEvent *i, int j)
+ {
+           i->button = j;
+ }
+-int  XButtonEvent_state(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_state (XButtonEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XButtonEvent_state(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_state (XButtonEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XButtonEvent_y_root(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_y_root (XButtonEvent *i)
+ {
+           return(i->y_root);
+ }
+-void set_XButtonEvent_y_root(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_y_root (XButtonEvent *i, int j)
+ {
+           i->y_root = j;
+ }
+-int  XButtonEvent_x_root(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_x_root (XButtonEvent *i)
+ {
+           return(i->x_root);
+ }
+-void set_XButtonEvent_x_root(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_x_root (XButtonEvent *i, int j)
+ {
+           i->x_root = j;
+ }
+-int  XButtonEvent_y(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_y (XButtonEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XButtonEvent_y(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_y (XButtonEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XButtonEvent_x(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_x (XButtonEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XButtonEvent_x(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_x (XButtonEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XButtonEvent_time(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_time (XButtonEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XButtonEvent_time(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_time (XButtonEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XButtonEvent_subwindow(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_subwindow (XButtonEvent *i)
+ {
+           return(i->subwindow);
+ }
+-void set_XButtonEvent_subwindow(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_subwindow (XButtonEvent *i, int j)
+ {
+           i->subwindow = j;
+ }
+-int  XButtonEvent_root(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_root (XButtonEvent *i)
+ {
+           return(i->root);
+ }
+-void set_XButtonEvent_root(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_root (XButtonEvent *i, int j)
+ {
+           i->root = j;
+ }
+-int  XButtonEvent_window(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_window (XButtonEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XButtonEvent_window(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_window (XButtonEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XButtonEvent_display(i)
+-XButtonEvent* i;
++long 
++XButtonEvent_display (XButtonEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XButtonEvent_display(i, j)
+-XButtonEvent* i;
+-long j;
++void 
++set_XButtonEvent_display (XButtonEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XButtonEvent_send_event(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_send_event (XButtonEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XButtonEvent_send_event(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_send_event (XButtonEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XButtonEvent_serial(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_serial (XButtonEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XButtonEvent_serial(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_serial (XButtonEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XButtonEvent_type(i)
+-XButtonEvent* i;
++int 
++XButtonEvent_type (XButtonEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XButtonEvent_type(i, j)
+-XButtonEvent* i;
+-int j;
++void 
++set_XButtonEvent_type (XButtonEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -431,201 +402,187 @@ int j;
+ /********* XMotionEvent functions *****/
+-long  make_XMotionEvent (){
++long 
++make_XMotionEvent (void){
+           return ((long) calloc(1, sizeof(XMotionEvent)));
+ }
+-int  XMotionEvent_same_screen(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_same_screen (XMotionEvent *i)
+ {
+           return(i->same_screen);
+ }
+-void set_XMotionEvent_same_screen(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_same_screen (XMotionEvent *i, int j)
+ {
+           i->same_screen = j;
+ }
+-char XMotionEvent_is_hint(i)
+-XMotionEvent* i;
++char 
++XMotionEvent_is_hint (XMotionEvent *i)
+ {
+           return(i->is_hint);
+ }
+-void set_XMotionEvent_is_hint(i, j)
+-XMotionEvent* i;
+-char j;
++void 
++set_XMotionEvent_is_hint (XMotionEvent *i, int j)
+ {
+           i->is_hint = j;
+ }
+-int  XMotionEvent_state(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_state (XMotionEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XMotionEvent_state(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_state (XMotionEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XMotionEvent_y_root(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_y_root (XMotionEvent *i)
+ {
+           return(i->y_root);
+ }
+-void set_XMotionEvent_y_root(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_y_root (XMotionEvent *i, int j)
+ {
+           i->y_root = j;
+ }
+-int  XMotionEvent_x_root(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_x_root (XMotionEvent *i)
+ {
+           return(i->x_root);
+ }
+-void set_XMotionEvent_x_root(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_x_root (XMotionEvent *i, int j)
+ {
+           i->x_root = j;
+ }
+-int  XMotionEvent_y(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_y (XMotionEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XMotionEvent_y(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_y (XMotionEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XMotionEvent_x(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_x (XMotionEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XMotionEvent_x(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_x (XMotionEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XMotionEvent_time(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_time (XMotionEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XMotionEvent_time(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_time (XMotionEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XMotionEvent_subwindow(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_subwindow (XMotionEvent *i)
+ {
+           return(i->subwindow);
+ }
+-void set_XMotionEvent_subwindow(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_subwindow (XMotionEvent *i, int j)
+ {
+           i->subwindow = j;
+ }
+-int  XMotionEvent_root(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_root (XMotionEvent *i)
+ {
+           return(i->root);
+ }
+-void set_XMotionEvent_root(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_root (XMotionEvent *i, int j)
+ {
+           i->root = j;
+ }
+-int  XMotionEvent_window(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_window (XMotionEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XMotionEvent_window(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_window (XMotionEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XMotionEvent_display(i)
+-XMotionEvent* i;
++long 
++XMotionEvent_display (XMotionEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XMotionEvent_display(i, j)
+-XMotionEvent* i;
+-long j;
++void 
++set_XMotionEvent_display (XMotionEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XMotionEvent_send_event(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_send_event (XMotionEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XMotionEvent_send_event(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_send_event (XMotionEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XMotionEvent_serial(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_serial (XMotionEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XMotionEvent_serial(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_serial (XMotionEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XMotionEvent_type(i)
+-XMotionEvent* i;
++int 
++XMotionEvent_type (XMotionEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XMotionEvent_type(i, j)
+-XMotionEvent* i;
+-int j;
++void 
++set_XMotionEvent_type (XMotionEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -633,227 +590,211 @@ int j;
+ /********* XCrossingEvent functions *****/
+-long  make_XCrossingEvent (){
++long 
++make_XCrossingEvent (void){
+           return ((long) calloc(1, sizeof(XCrossingEvent)));
+ }
+-int  XCrossingEvent_state(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_state (XCrossingEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XCrossingEvent_state(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_state (XCrossingEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XCrossingEvent_focus(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_focus (XCrossingEvent *i)
+ {
+           return(i->focus);
+ }
+-void set_XCrossingEvent_focus(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_focus (XCrossingEvent *i, int j)
+ {
+           i->focus = j;
+ }
+-int  XCrossingEvent_same_screen(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_same_screen (XCrossingEvent *i)
+ {
+           return(i->same_screen);
+ }
+-void set_XCrossingEvent_same_screen(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_same_screen (XCrossingEvent *i, int j)
+ {
+           i->same_screen = j;
+ }
+-int  XCrossingEvent_detail(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_detail (XCrossingEvent *i)
+ {
+           return(i->detail);
+ }
+-void set_XCrossingEvent_detail(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_detail (XCrossingEvent *i, int j)
+ {
+           i->detail = j;
+ }
+-int  XCrossingEvent_mode(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_mode (XCrossingEvent *i)
+ {
+           return(i->mode);
+ }
+-void set_XCrossingEvent_mode(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_mode (XCrossingEvent *i, int j)
+ {
+           i->mode = j;
+ }
+-int  XCrossingEvent_y_root(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_y_root (XCrossingEvent *i)
+ {
+           return(i->y_root);
+ }
+-void set_XCrossingEvent_y_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_y_root (XCrossingEvent *i, int j)
+ {
+           i->y_root = j;
+ }
+-int  XCrossingEvent_x_root(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_x_root (XCrossingEvent *i)
+ {
+           return(i->x_root);
+ }
+-void set_XCrossingEvent_x_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_x_root (XCrossingEvent *i, int j)
+ {
+           i->x_root = j;
+ }
+-int  XCrossingEvent_y(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_y (XCrossingEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XCrossingEvent_y(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_y (XCrossingEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XCrossingEvent_x(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_x (XCrossingEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XCrossingEvent_x(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_x (XCrossingEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XCrossingEvent_time(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_time (XCrossingEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XCrossingEvent_time(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_time (XCrossingEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XCrossingEvent_subwindow(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_subwindow (XCrossingEvent *i)
+ {
+           return(i->subwindow);
+ }
+-void set_XCrossingEvent_subwindow(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_subwindow (XCrossingEvent *i, int j)
+ {
+           i->subwindow = j;
+ }
+-int  XCrossingEvent_root(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_root (XCrossingEvent *i)
+ {
+           return(i->root);
+ }
+-void set_XCrossingEvent_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_root (XCrossingEvent *i, int j)
+ {
+           i->root = j;
+ }
+-int  XCrossingEvent_window(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_window (XCrossingEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XCrossingEvent_window(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_window (XCrossingEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XCrossingEvent_display(i)
+-XCrossingEvent* i;
++long 
++XCrossingEvent_display (XCrossingEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XCrossingEvent_display(i, j)
+-XCrossingEvent* i;
+-long j;
++void 
++set_XCrossingEvent_display (XCrossingEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XCrossingEvent_send_event(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_send_event (XCrossingEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XCrossingEvent_send_event(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_send_event (XCrossingEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XCrossingEvent_serial(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_serial (XCrossingEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XCrossingEvent_serial(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_serial (XCrossingEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XCrossingEvent_type(i)
+-XCrossingEvent* i;
++int 
++XCrossingEvent_type (XCrossingEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XCrossingEvent_type(i, j)
+-XCrossingEvent* i;
+-int j;
++void 
++set_XCrossingEvent_type (XCrossingEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -861,97 +802,91 @@ int j;
+ /********* XFocusChangeEvent functions *****/
+-long  make_XFocusChangeEvent (){
++long 
++make_XFocusChangeEvent (void){
+           return ((long) calloc(1, sizeof(XFocusChangeEvent)));
+ }
+-int  XFocusChangeEvent_detail(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_detail (XFocusChangeEvent *i)
+ {
+           return(i->detail);
+ }
+-void set_XFocusChangeEvent_detail(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_detail (XFocusChangeEvent *i, int j)
+ {
+           i->detail = j;
+ }
+-int  XFocusChangeEvent_mode(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_mode (XFocusChangeEvent *i)
+ {
+           return(i->mode);
+ }
+-void set_XFocusChangeEvent_mode(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_mode (XFocusChangeEvent *i, int j)
+ {
+           i->mode = j;
+ }
+-int  XFocusChangeEvent_window(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_window (XFocusChangeEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XFocusChangeEvent_window(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_window (XFocusChangeEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XFocusChangeEvent_display(i)
+-XFocusChangeEvent* i;
++long 
++XFocusChangeEvent_display (XFocusChangeEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XFocusChangeEvent_display(i, j)
+-XFocusChangeEvent* i;
+-long j;
++void 
++set_XFocusChangeEvent_display (XFocusChangeEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XFocusChangeEvent_send_event(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_send_event (XFocusChangeEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XFocusChangeEvent_send_event(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_send_event (XFocusChangeEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XFocusChangeEvent_serial(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_serial (XFocusChangeEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XFocusChangeEvent_serial(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_serial (XFocusChangeEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XFocusChangeEvent_type(i)
+-XFocusChangeEvent* i;
++int 
++XFocusChangeEvent_type (XFocusChangeEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XFocusChangeEvent_type(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void 
++set_XFocusChangeEvent_type (XFocusChangeEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -959,76 +894,72 @@ int j;
+ /********* XKeymapEvent functions *****/
+-long  make_XKeymapEvent (){
++long 
++make_XKeymapEvent (void){
+           return ((long) calloc(1, sizeof(XKeymapEvent)));
+ }
+-char* XKeymapEvent_key_vector(i)
+-XKeymapEvent* i;
++char *
++XKeymapEvent_key_vector (XKeymapEvent *i)
+ {
+           return(i->key_vector);
+ }
+-int  XKeymapEvent_window(i)
+-XKeymapEvent* i;
++int 
++XKeymapEvent_window (XKeymapEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XKeymapEvent_window(i, j)
+-XKeymapEvent* i;
+-int j;
++void 
++set_XKeymapEvent_window (XKeymapEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XKeymapEvent_display(i)
+-XKeymapEvent* i;
++long 
++XKeymapEvent_display (XKeymapEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XKeymapEvent_display(i, j)
+-XKeymapEvent* i;
+-long j;
++void 
++set_XKeymapEvent_display (XKeymapEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XKeymapEvent_send_event(i)
+-XKeymapEvent* i;
++int 
++XKeymapEvent_send_event (XKeymapEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XKeymapEvent_send_event(i, j)
+-XKeymapEvent* i;
+-int j;
++void 
++set_XKeymapEvent_send_event (XKeymapEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XKeymapEvent_serial(i)
+-XKeymapEvent* i;
++int 
++XKeymapEvent_serial (XKeymapEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XKeymapEvent_serial(i, j)
+-XKeymapEvent* i;
+-int j;
++void 
++set_XKeymapEvent_serial (XKeymapEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XKeymapEvent_type(i)
+-XKeymapEvent* i;
++int 
++XKeymapEvent_type (XKeymapEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XKeymapEvent_type(i, j)
+-XKeymapEvent* i;
+-int j;
++void 
++set_XKeymapEvent_type (XKeymapEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1036,136 +967,127 @@ int j;
+ /********* XExposeEvent functions *****/
+-long  make_XExposeEvent (){
++long 
++make_XExposeEvent (void){
+           return ((long) calloc(1, sizeof(XExposeEvent)));
+ }
+-int  XExposeEvent_count(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_count (XExposeEvent *i)
+ {
+           return(i->count);
+ }
+-void set_XExposeEvent_count(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_count (XExposeEvent *i, int j)
+ {
+           i->count = j;
+ }
+-int  XExposeEvent_height(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_height (XExposeEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XExposeEvent_height(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_height (XExposeEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XExposeEvent_width(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_width (XExposeEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XExposeEvent_width(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_width (XExposeEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XExposeEvent_y(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_y (XExposeEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XExposeEvent_y(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_y (XExposeEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XExposeEvent_x(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_x (XExposeEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XExposeEvent_x(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_x (XExposeEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XExposeEvent_window(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_window (XExposeEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XExposeEvent_window(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_window (XExposeEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XExposeEvent_display(i)
+-XExposeEvent* i;
++long 
++XExposeEvent_display (XExposeEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XExposeEvent_display(i, j)
+-XExposeEvent* i;
+-long j;
++void 
++set_XExposeEvent_display (XExposeEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XExposeEvent_send_event(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_send_event (XExposeEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XExposeEvent_send_event(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_send_event (XExposeEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XExposeEvent_serial(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_serial (XExposeEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XExposeEvent_serial(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_serial (XExposeEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XExposeEvent_type(i)
+-XExposeEvent* i;
++int 
++XExposeEvent_type (XExposeEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XExposeEvent_type(i, j)
+-XExposeEvent* i;
+-int j;
++void 
++set_XExposeEvent_type (XExposeEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1173,162 +1095,151 @@ int j;
+ /********* XGraphicsExposeEvent functions *****/
+-long  make_XGraphicsExposeEvent (){
++long 
++make_XGraphicsExposeEvent (void){
+           return ((long) calloc(1, sizeof(XGraphicsExposeEvent)));
+ }
+-int  XGraphicsExposeEvent_minor_code(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i)
+ {
+           return(i->minor_code);
+ }
+-void set_XGraphicsExposeEvent_minor_code(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i, int j)
+ {
+           i->minor_code = j;
+ }
+-int  XGraphicsExposeEvent_major_code(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i)
+ {
+           return(i->major_code);
+ }
+-void set_XGraphicsExposeEvent_major_code(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i, int j)
+ {
+           i->major_code = j;
+ }
+-int  XGraphicsExposeEvent_count(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_count (XGraphicsExposeEvent *i)
+ {
+           return(i->count);
+ }
+-void set_XGraphicsExposeEvent_count(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_count (XGraphicsExposeEvent *i, int j)
+ {
+           i->count = j;
+ }
+-int  XGraphicsExposeEvent_height(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_height (XGraphicsExposeEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XGraphicsExposeEvent_height(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_height (XGraphicsExposeEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XGraphicsExposeEvent_width(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_width (XGraphicsExposeEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XGraphicsExposeEvent_width(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_width (XGraphicsExposeEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XGraphicsExposeEvent_y(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_y (XGraphicsExposeEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XGraphicsExposeEvent_y(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_y (XGraphicsExposeEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XGraphicsExposeEvent_x(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_x (XGraphicsExposeEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XGraphicsExposeEvent_x(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_x (XGraphicsExposeEvent *i, int j)
+ {
+           i->x = j;
+ }
+-Drawable XGraphicsExposeEvent_drawable(i)
+-XGraphicsExposeEvent* i;
++Drawable 
++XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i)
+ {
+           return(i->drawable);
+ }
+-void set_XGraphicsExposeEvent_drawable(i, j)
+-XGraphicsExposeEvent* i;
+-Drawable j;
++void 
++set_XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i, Drawable j)
+ {
+           i->drawable = j;
+ }
+-long  XGraphicsExposeEvent_display(i)
+-XGraphicsExposeEvent* i;
++long 
++XGraphicsExposeEvent_display (XGraphicsExposeEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XGraphicsExposeEvent_display(i, j)
+-XGraphicsExposeEvent* i;
+-long j;
++void 
++set_XGraphicsExposeEvent_display (XGraphicsExposeEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XGraphicsExposeEvent_send_event(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XGraphicsExposeEvent_send_event(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XGraphicsExposeEvent_serial(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XGraphicsExposeEvent_serial(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XGraphicsExposeEvent_type(i)
+-XGraphicsExposeEvent* i;
++int 
++XGraphicsExposeEvent_type (XGraphicsExposeEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XGraphicsExposeEvent_type(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void 
++set_XGraphicsExposeEvent_type (XGraphicsExposeEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1336,97 +1247,91 @@ int j;
+ /********* XNoExposeEvent functions *****/
+-long  make_XNoExposeEvent (){
++long 
++make_XNoExposeEvent (void){
+           return ((long) calloc(1, sizeof(XNoExposeEvent)));
+ }
+-int  XNoExposeEvent_minor_code(i)
+-XNoExposeEvent* i;
++int 
++XNoExposeEvent_minor_code (XNoExposeEvent *i)
+ {
+           return(i->minor_code);
+ }
+-void set_XNoExposeEvent_minor_code(i, j)
+-XNoExposeEvent* i;
+-int j;
++void 
++set_XNoExposeEvent_minor_code (XNoExposeEvent *i, int j)
+ {
+           i->minor_code = j;
+ }
+-int  XNoExposeEvent_major_code(i)
+-XNoExposeEvent* i;
++int 
++XNoExposeEvent_major_code (XNoExposeEvent *i)
+ {
+           return(i->major_code);
+ }
+-void set_XNoExposeEvent_major_code(i, j)
+-XNoExposeEvent* i;
+-int j;
++void 
++set_XNoExposeEvent_major_code (XNoExposeEvent *i, int j)
+ {
+           i->major_code = j;
+ }
+-Drawable XNoExposeEvent_drawable(i)
+-XNoExposeEvent* i;
++Drawable 
++XNoExposeEvent_drawable (XNoExposeEvent *i)
+ {
+           return(i->drawable);
+ }
+-void set_XNoExposeEvent_drawable(i, j)
+-XNoExposeEvent* i;
+-Drawable j;
++void 
++set_XNoExposeEvent_drawable (XNoExposeEvent *i, Drawable j)
+ {
+           i->drawable = j;
+ }
+-long  XNoExposeEvent_display(i)
+-XNoExposeEvent* i;
++long 
++XNoExposeEvent_display (XNoExposeEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XNoExposeEvent_display(i, j)
+-XNoExposeEvent* i;
+-long j;
++void 
++set_XNoExposeEvent_display (XNoExposeEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XNoExposeEvent_send_event(i)
+-XNoExposeEvent* i;
++int 
++XNoExposeEvent_send_event (XNoExposeEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XNoExposeEvent_send_event(i, j)
+-XNoExposeEvent* i;
+-int j;
++void 
++set_XNoExposeEvent_send_event (XNoExposeEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XNoExposeEvent_serial(i)
+-XNoExposeEvent* i;
++int 
++XNoExposeEvent_serial (XNoExposeEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XNoExposeEvent_serial(i, j)
+-XNoExposeEvent* i;
+-int j;
++void 
++set_XNoExposeEvent_serial (XNoExposeEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XNoExposeEvent_type(i)
+-XNoExposeEvent* i;
++int 
++XNoExposeEvent_type (XNoExposeEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XNoExposeEvent_type(i, j)
+-XNoExposeEvent* i;
+-int j;
++void 
++set_XNoExposeEvent_type (XNoExposeEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1434,84 +1339,79 @@ int j;
+ /********* XVisibilityEvent functions *****/
+-long  make_XVisibilityEvent (){
++long 
++make_XVisibilityEvent (void){
+           return ((long) calloc(1, sizeof(XVisibilityEvent)));
+ }
+-int  XVisibilityEvent_state(i)
+-XVisibilityEvent* i;
++int 
++XVisibilityEvent_state (XVisibilityEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XVisibilityEvent_state(i, j)
+-XVisibilityEvent* i;
+-int j;
++void 
++set_XVisibilityEvent_state (XVisibilityEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XVisibilityEvent_window(i)
+-XVisibilityEvent* i;
++int 
++XVisibilityEvent_window (XVisibilityEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XVisibilityEvent_window(i, j)
+-XVisibilityEvent* i;
+-int j;
++void 
++set_XVisibilityEvent_window (XVisibilityEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XVisibilityEvent_display(i)
+-XVisibilityEvent* i;
++long 
++XVisibilityEvent_display (XVisibilityEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XVisibilityEvent_display(i, j)
+-XVisibilityEvent* i;
+-long j;
++void 
++set_XVisibilityEvent_display (XVisibilityEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XVisibilityEvent_send_event(i)
+-XVisibilityEvent* i;
++int 
++XVisibilityEvent_send_event (XVisibilityEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XVisibilityEvent_send_event(i, j)
+-XVisibilityEvent* i;
+-int j;
++void 
++set_XVisibilityEvent_send_event (XVisibilityEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XVisibilityEvent_serial(i)
+-XVisibilityEvent* i;
++int 
++XVisibilityEvent_serial (XVisibilityEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XVisibilityEvent_serial(i, j)
+-XVisibilityEvent* i;
+-int j;
++void 
++set_XVisibilityEvent_serial (XVisibilityEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XVisibilityEvent_type(i)
+-XVisibilityEvent* i;
++int 
++XVisibilityEvent_type (XVisibilityEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XVisibilityEvent_type(i, j)
+-XVisibilityEvent* i;
+-int j;
++void 
++set_XVisibilityEvent_type (XVisibilityEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1519,162 +1419,151 @@ int j;
+ /********* XCreateWindowEvent functions *****/
+-long  make_XCreateWindowEvent (){
++long 
++make_XCreateWindowEvent (void){
+           return ((long) calloc(1, sizeof(XCreateWindowEvent)));
+ }
+-int  XCreateWindowEvent_override_redirect(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_override_redirect (XCreateWindowEvent *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XCreateWindowEvent_override_redirect(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_override_redirect (XCreateWindowEvent *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XCreateWindowEvent_border_width(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_border_width (XCreateWindowEvent *i)
+ {
+           return(i->border_width);
+ }
+-void set_XCreateWindowEvent_border_width(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_border_width (XCreateWindowEvent *i, int j)
+ {
+           i->border_width = j;
+ }
+-int  XCreateWindowEvent_height(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_height (XCreateWindowEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XCreateWindowEvent_height(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_height (XCreateWindowEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XCreateWindowEvent_width(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_width (XCreateWindowEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XCreateWindowEvent_width(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_width (XCreateWindowEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XCreateWindowEvent_y(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_y (XCreateWindowEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XCreateWindowEvent_y(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_y (XCreateWindowEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XCreateWindowEvent_x(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_x (XCreateWindowEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XCreateWindowEvent_x(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_x (XCreateWindowEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XCreateWindowEvent_window(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_window (XCreateWindowEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XCreateWindowEvent_window(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_window (XCreateWindowEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XCreateWindowEvent_parent(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_parent (XCreateWindowEvent *i)
+ {
+           return(i->parent);
+ }
+-void set_XCreateWindowEvent_parent(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_parent (XCreateWindowEvent *i, int j)
+ {
+           i->parent = j;
+ }
+-long  XCreateWindowEvent_display(i)
+-XCreateWindowEvent* i;
++long 
++XCreateWindowEvent_display (XCreateWindowEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XCreateWindowEvent_display(i, j)
+-XCreateWindowEvent* i;
+-long j;
++void 
++set_XCreateWindowEvent_display (XCreateWindowEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XCreateWindowEvent_send_event(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_send_event (XCreateWindowEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XCreateWindowEvent_send_event(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_send_event (XCreateWindowEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XCreateWindowEvent_serial(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_serial (XCreateWindowEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XCreateWindowEvent_serial(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_serial (XCreateWindowEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XCreateWindowEvent_type(i)
+-XCreateWindowEvent* i;
++int 
++XCreateWindowEvent_type (XCreateWindowEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XCreateWindowEvent_type(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void 
++set_XCreateWindowEvent_type (XCreateWindowEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1682,84 +1571,79 @@ int j;
+ /********* XDestroyWindowEvent functions *****/
+-long  make_XDestroyWindowEvent (){
++long 
++make_XDestroyWindowEvent (void){
+           return ((long) calloc(1, sizeof(XDestroyWindowEvent)));
+ }
+-int  XDestroyWindowEvent_window(i)
+-XDestroyWindowEvent* i;
++int 
++XDestroyWindowEvent_window (XDestroyWindowEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XDestroyWindowEvent_window(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void 
++set_XDestroyWindowEvent_window (XDestroyWindowEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XDestroyWindowEvent_event(i)
+-XDestroyWindowEvent* i;
++int 
++XDestroyWindowEvent_event (XDestroyWindowEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XDestroyWindowEvent_event(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void 
++set_XDestroyWindowEvent_event (XDestroyWindowEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XDestroyWindowEvent_display(i)
+-XDestroyWindowEvent* i;
++long 
++XDestroyWindowEvent_display (XDestroyWindowEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XDestroyWindowEvent_display(i, j)
+-XDestroyWindowEvent* i;
+-long j;
++void 
++set_XDestroyWindowEvent_display (XDestroyWindowEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XDestroyWindowEvent_send_event(i)
+-XDestroyWindowEvent* i;
++int 
++XDestroyWindowEvent_send_event (XDestroyWindowEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XDestroyWindowEvent_send_event(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void 
++set_XDestroyWindowEvent_send_event (XDestroyWindowEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XDestroyWindowEvent_serial(i)
+-XDestroyWindowEvent* i;
++int 
++XDestroyWindowEvent_serial (XDestroyWindowEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XDestroyWindowEvent_serial(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void 
++set_XDestroyWindowEvent_serial (XDestroyWindowEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XDestroyWindowEvent_type(i)
+-XDestroyWindowEvent* i;
++int 
++XDestroyWindowEvent_type (XDestroyWindowEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XDestroyWindowEvent_type(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void 
++set_XDestroyWindowEvent_type (XDestroyWindowEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1767,97 +1651,91 @@ int j;
+ /********* XUnmapEvent functions *****/
+-long  make_XUnmapEvent (){
++long 
++make_XUnmapEvent (void){
+           return ((long) calloc(1, sizeof(XUnmapEvent)));
+ }
+-int  XUnmapEvent_from_configure(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_from_configure (XUnmapEvent *i)
+ {
+           return(i->from_configure);
+ }
+-void set_XUnmapEvent_from_configure(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_from_configure (XUnmapEvent *i, int j)
+ {
+           i->from_configure = j;
+ }
+-int  XUnmapEvent_window(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_window (XUnmapEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XUnmapEvent_window(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_window (XUnmapEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XUnmapEvent_event(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_event (XUnmapEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XUnmapEvent_event(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_event (XUnmapEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XUnmapEvent_display(i)
+-XUnmapEvent* i;
++long 
++XUnmapEvent_display (XUnmapEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XUnmapEvent_display(i, j)
+-XUnmapEvent* i;
+-long j;
++void 
++set_XUnmapEvent_display (XUnmapEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XUnmapEvent_send_event(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_send_event (XUnmapEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XUnmapEvent_send_event(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_send_event (XUnmapEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XUnmapEvent_serial(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_serial (XUnmapEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XUnmapEvent_serial(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_serial (XUnmapEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XUnmapEvent_type(i)
+-XUnmapEvent* i;
++int 
++XUnmapEvent_type (XUnmapEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XUnmapEvent_type(i, j)
+-XUnmapEvent* i;
+-int j;
++void 
++set_XUnmapEvent_type (XUnmapEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1865,97 +1743,91 @@ int j;
+ /********* XMapEvent functions *****/
+-long  make_XMapEvent (){
++long 
++make_XMapEvent (void){
+           return ((long) calloc(1, sizeof(XMapEvent)));
+ }
+-int  XMapEvent_override_redirect(i)
+-XMapEvent* i;
++int 
++XMapEvent_override_redirect (XMapEvent *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XMapEvent_override_redirect(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_override_redirect (XMapEvent *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XMapEvent_window(i)
+-XMapEvent* i;
++int 
++XMapEvent_window (XMapEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XMapEvent_window(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_window (XMapEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XMapEvent_event(i)
+-XMapEvent* i;
++int 
++XMapEvent_event (XMapEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XMapEvent_event(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_event (XMapEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XMapEvent_display(i)
+-XMapEvent* i;
++long 
++XMapEvent_display (XMapEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XMapEvent_display(i, j)
+-XMapEvent* i;
+-long j;
++void 
++set_XMapEvent_display (XMapEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XMapEvent_send_event(i)
+-XMapEvent* i;
++int 
++XMapEvent_send_event (XMapEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XMapEvent_send_event(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_send_event (XMapEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XMapEvent_serial(i)
+-XMapEvent* i;
++int 
++XMapEvent_serial (XMapEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XMapEvent_serial(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_serial (XMapEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XMapEvent_type(i)
+-XMapEvent* i;
++int 
++XMapEvent_type (XMapEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XMapEvent_type(i, j)
+-XMapEvent* i;
+-int j;
++void 
++set_XMapEvent_type (XMapEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -1963,84 +1835,79 @@ int j;
+ /********* XMapRequestEvent functions *****/
+-long  make_XMapRequestEvent (){
++long 
++make_XMapRequestEvent (void){
+           return ((long) calloc(1, sizeof(XMapRequestEvent)));
+ }
+-int  XMapRequestEvent_window(i)
+-XMapRequestEvent* i;
++int 
++XMapRequestEvent_window (XMapRequestEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XMapRequestEvent_window(i, j)
+-XMapRequestEvent* i;
+-int j;
++void 
++set_XMapRequestEvent_window (XMapRequestEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XMapRequestEvent_parent(i)
+-XMapRequestEvent* i;
++int 
++XMapRequestEvent_parent (XMapRequestEvent *i)
+ {
+           return(i->parent);
+ }
+-void set_XMapRequestEvent_parent(i, j)
+-XMapRequestEvent* i;
+-int j;
++void 
++set_XMapRequestEvent_parent (XMapRequestEvent *i, int j)
+ {
+           i->parent = j;
+ }
+-long  XMapRequestEvent_display(i)
+-XMapRequestEvent* i;
++long 
++XMapRequestEvent_display (XMapRequestEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XMapRequestEvent_display(i, j)
+-XMapRequestEvent* i;
+-long j;
++void 
++set_XMapRequestEvent_display (XMapRequestEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XMapRequestEvent_send_event(i)
+-XMapRequestEvent* i;
++int 
++XMapRequestEvent_send_event (XMapRequestEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XMapRequestEvent_send_event(i, j)
+-XMapRequestEvent* i;
+-int j;
++void 
++set_XMapRequestEvent_send_event (XMapRequestEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XMapRequestEvent_serial(i)
+-XMapRequestEvent* i;
++int 
++XMapRequestEvent_serial (XMapRequestEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XMapRequestEvent_serial(i, j)
+-XMapRequestEvent* i;
+-int j;
++void 
++set_XMapRequestEvent_serial (XMapRequestEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XMapRequestEvent_type(i)
+-XMapRequestEvent* i;
++int 
++XMapRequestEvent_type (XMapRequestEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XMapRequestEvent_type(i, j)
+-XMapRequestEvent* i;
+-int j;
++void 
++set_XMapRequestEvent_type (XMapRequestEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2048,136 +1915,127 @@ int j;
+ /********* XReparentEvent functions *****/
+-long  make_XReparentEvent (){
++long 
++make_XReparentEvent (void){
+           return ((long) calloc(1, sizeof(XReparentEvent)));
+ }
+-int  XReparentEvent_override_redirect(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_override_redirect (XReparentEvent *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XReparentEvent_override_redirect(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_override_redirect (XReparentEvent *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XReparentEvent_y(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_y (XReparentEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XReparentEvent_y(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_y (XReparentEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XReparentEvent_x(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_x (XReparentEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XReparentEvent_x(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_x (XReparentEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XReparentEvent_parent(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_parent (XReparentEvent *i)
+ {
+           return(i->parent);
+ }
+-void set_XReparentEvent_parent(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_parent (XReparentEvent *i, int j)
+ {
+           i->parent = j;
+ }
+-int  XReparentEvent_window(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_window (XReparentEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XReparentEvent_window(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_window (XReparentEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XReparentEvent_event(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_event (XReparentEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XReparentEvent_event(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_event (XReparentEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XReparentEvent_display(i)
+-XReparentEvent* i;
++long 
++XReparentEvent_display (XReparentEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XReparentEvent_display(i, j)
+-XReparentEvent* i;
+-long j;
++void 
++set_XReparentEvent_display (XReparentEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XReparentEvent_send_event(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_send_event (XReparentEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XReparentEvent_send_event(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_send_event (XReparentEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XReparentEvent_serial(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_serial (XReparentEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XReparentEvent_serial(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_serial (XReparentEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XReparentEvent_type(i)
+-XReparentEvent* i;
++int 
++XReparentEvent_type (XReparentEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XReparentEvent_type(i, j)
+-XReparentEvent* i;
+-int j;
++void 
++set_XReparentEvent_type (XReparentEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2185,175 +2043,163 @@ int j;
+ /********* XConfigureEvent functions *****/
+-long  make_XConfigureEvent (){
++long 
++make_XConfigureEvent (void){
+           return ((long) calloc(1, sizeof(XConfigureEvent)));
+ }
+-int  XConfigureEvent_override_redirect(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_override_redirect (XConfigureEvent *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XConfigureEvent_override_redirect(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_override_redirect (XConfigureEvent *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XConfigureEvent_above(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_above (XConfigureEvent *i)
+ {
+           return(i->above);
+ }
+-void set_XConfigureEvent_above(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_above (XConfigureEvent *i, int j)
+ {
+           i->above = j;
+ }
+-int  XConfigureEvent_border_width(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_border_width (XConfigureEvent *i)
+ {
+           return(i->border_width);
+ }
+-void set_XConfigureEvent_border_width(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_border_width (XConfigureEvent *i, int j)
+ {
+           i->border_width = j;
+ }
+-int  XConfigureEvent_height(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_height (XConfigureEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XConfigureEvent_height(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_height (XConfigureEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XConfigureEvent_width(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_width (XConfigureEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XConfigureEvent_width(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_width (XConfigureEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XConfigureEvent_y(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_y (XConfigureEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XConfigureEvent_y(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_y (XConfigureEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XConfigureEvent_x(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_x (XConfigureEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XConfigureEvent_x(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_x (XConfigureEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XConfigureEvent_window(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_window (XConfigureEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XConfigureEvent_window(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_window (XConfigureEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XConfigureEvent_event(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_event (XConfigureEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XConfigureEvent_event(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_event (XConfigureEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XConfigureEvent_display(i)
+-XConfigureEvent* i;
++long 
++XConfigureEvent_display (XConfigureEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XConfigureEvent_display(i, j)
+-XConfigureEvent* i;
+-long j;
++void 
++set_XConfigureEvent_display (XConfigureEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XConfigureEvent_send_event(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_send_event (XConfigureEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XConfigureEvent_send_event(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_send_event (XConfigureEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XConfigureEvent_serial(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_serial (XConfigureEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XConfigureEvent_serial(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_serial (XConfigureEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XConfigureEvent_type(i)
+-XConfigureEvent* i;
++int 
++XConfigureEvent_type (XConfigureEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XConfigureEvent_type(i, j)
+-XConfigureEvent* i;
+-int j;
++void 
++set_XConfigureEvent_type (XConfigureEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2361,110 +2207,103 @@ int j;
+ /********* XGravityEvent functions *****/
+-long  make_XGravityEvent (){
++long 
++make_XGravityEvent (void){
+           return ((long) calloc(1, sizeof(XGravityEvent)));
+ }
+-int  XGravityEvent_y(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_y (XGravityEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XGravityEvent_y(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_y (XGravityEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XGravityEvent_x(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_x (XGravityEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XGravityEvent_x(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_x (XGravityEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XGravityEvent_window(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_window (XGravityEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XGravityEvent_window(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_window (XGravityEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XGravityEvent_event(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_event (XGravityEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XGravityEvent_event(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_event (XGravityEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XGravityEvent_display(i)
+-XGravityEvent* i;
++long 
++XGravityEvent_display (XGravityEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XGravityEvent_display(i, j)
+-XGravityEvent* i;
+-long j;
++void 
++set_XGravityEvent_display (XGravityEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XGravityEvent_send_event(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_send_event (XGravityEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XGravityEvent_send_event(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_send_event (XGravityEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XGravityEvent_serial(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_serial (XGravityEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XGravityEvent_serial(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_serial (XGravityEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XGravityEvent_type(i)
+-XGravityEvent* i;
++int 
++XGravityEvent_type (XGravityEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XGravityEvent_type(i, j)
+-XGravityEvent* i;
+-int j;
++void 
++set_XGravityEvent_type (XGravityEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2472,97 +2311,91 @@ int j;
+ /********* XResizeRequestEvent functions *****/
+-long  make_XResizeRequestEvent (){
++long 
++make_XResizeRequestEvent (void){
+           return ((long) calloc(1, sizeof(XResizeRequestEvent)));
+ }
+-int  XResizeRequestEvent_height(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_height (XResizeRequestEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XResizeRequestEvent_height(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_height (XResizeRequestEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XResizeRequestEvent_width(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_width (XResizeRequestEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XResizeRequestEvent_width(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_width (XResizeRequestEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XResizeRequestEvent_window(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_window (XResizeRequestEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XResizeRequestEvent_window(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_window (XResizeRequestEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XResizeRequestEvent_display(i)
+-XResizeRequestEvent* i;
++long 
++XResizeRequestEvent_display (XResizeRequestEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XResizeRequestEvent_display(i, j)
+-XResizeRequestEvent* i;
+-long j;
++void 
++set_XResizeRequestEvent_display (XResizeRequestEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XResizeRequestEvent_send_event(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_send_event (XResizeRequestEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XResizeRequestEvent_send_event(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_send_event (XResizeRequestEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XResizeRequestEvent_serial(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_serial (XResizeRequestEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XResizeRequestEvent_serial(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_serial (XResizeRequestEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XResizeRequestEvent_type(i)
+-XResizeRequestEvent* i;
++int 
++XResizeRequestEvent_type (XResizeRequestEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XResizeRequestEvent_type(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void 
++set_XResizeRequestEvent_type (XResizeRequestEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2570,188 +2403,175 @@ int j;
+ /********* XConfigureRequestEvent functions *****/
+-long  make_XConfigureRequestEvent (){
++long 
++make_XConfigureRequestEvent (void){
+           return ((long) calloc(1, sizeof(XConfigureRequestEvent)));
+ }
+-int  XConfigureRequestEvent_value_mask(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i)
+ {
+           return(i->value_mask);
+ }
+-void set_XConfigureRequestEvent_value_mask(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i, int j)
+ {
+           i->value_mask = j;
+ }
+-int  XConfigureRequestEvent_detail(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_detail (XConfigureRequestEvent *i)
+ {
+           return(i->detail);
+ }
+-void set_XConfigureRequestEvent_detail(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_detail (XConfigureRequestEvent *i, int j)
+ {
+           i->detail = j;
+ }
+-int  XConfigureRequestEvent_above(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_above (XConfigureRequestEvent *i)
+ {
+           return(i->above);
+ }
+-void set_XConfigureRequestEvent_above(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_above (XConfigureRequestEvent *i, int j)
+ {
+           i->above = j;
+ }
+-int  XConfigureRequestEvent_border_width(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_border_width (XConfigureRequestEvent *i)
+ {
+           return(i->border_width);
+ }
+-void set_XConfigureRequestEvent_border_width(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_border_width (XConfigureRequestEvent *i, int j)
+ {
+           i->border_width = j;
+ }
+-int  XConfigureRequestEvent_height(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_height (XConfigureRequestEvent *i)
+ {
+           return(i->height);
+ }
+-void set_XConfigureRequestEvent_height(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_height (XConfigureRequestEvent *i, int j)
+ {
+           i->height = j;
+ }
+-int  XConfigureRequestEvent_width(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_width (XConfigureRequestEvent *i)
+ {
+           return(i->width);
+ }
+-void set_XConfigureRequestEvent_width(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_width (XConfigureRequestEvent *i, int j)
+ {
+           i->width = j;
+ }
+-int  XConfigureRequestEvent_y(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_y (XConfigureRequestEvent *i)
+ {
+           return(i->y);
+ }
+-void set_XConfigureRequestEvent_y(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_y (XConfigureRequestEvent *i, int j)
+ {
+           i->y = j;
+ }
+-int  XConfigureRequestEvent_x(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_x (XConfigureRequestEvent *i)
+ {
+           return(i->x);
+ }
+-void set_XConfigureRequestEvent_x(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_x (XConfigureRequestEvent *i, int j)
+ {
+           i->x = j;
+ }
+-int  XConfigureRequestEvent_window(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_window (XConfigureRequestEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XConfigureRequestEvent_window(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_window (XConfigureRequestEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XConfigureRequestEvent_parent(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_parent (XConfigureRequestEvent *i)
+ {
+           return(i->parent);
+ }
+-void set_XConfigureRequestEvent_parent(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_parent (XConfigureRequestEvent *i, int j)
+ {
+           i->parent = j;
+ }
+-long  XConfigureRequestEvent_display(i)
+-XConfigureRequestEvent* i;
++long 
++XConfigureRequestEvent_display (XConfigureRequestEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XConfigureRequestEvent_display(i, j)
+-XConfigureRequestEvent* i;
+-long j;
++void 
++set_XConfigureRequestEvent_display (XConfigureRequestEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XConfigureRequestEvent_send_event(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_send_event (XConfigureRequestEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XConfigureRequestEvent_send_event(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_send_event (XConfigureRequestEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XConfigureRequestEvent_serial(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_serial (XConfigureRequestEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XConfigureRequestEvent_serial(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_serial (XConfigureRequestEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XConfigureRequestEvent_type(i)
+-XConfigureRequestEvent* i;
++int 
++XConfigureRequestEvent_type (XConfigureRequestEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XConfigureRequestEvent_type(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void 
++set_XConfigureRequestEvent_type (XConfigureRequestEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2759,97 +2579,91 @@ int j;
+ /********* XCirculateEvent functions *****/
+-long  make_XCirculateEvent (){
++long 
++make_XCirculateEvent (void){
+           return ((long) calloc(1, sizeof(XCirculateEvent)));
+ }
+-int  XCirculateEvent_place(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_place (XCirculateEvent *i)
+ {
+           return(i->place);
+ }
+-void set_XCirculateEvent_place(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_place (XCirculateEvent *i, int j)
+ {
+           i->place = j;
+ }
+-int  XCirculateEvent_window(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_window (XCirculateEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XCirculateEvent_window(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_window (XCirculateEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XCirculateEvent_event(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_event (XCirculateEvent *i)
+ {
+           return(i->event);
+ }
+-void set_XCirculateEvent_event(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_event (XCirculateEvent *i, int j)
+ {
+           i->event = j;
+ }
+-long  XCirculateEvent_display(i)
+-XCirculateEvent* i;
++long 
++XCirculateEvent_display (XCirculateEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XCirculateEvent_display(i, j)
+-XCirculateEvent* i;
+-long j;
++void 
++set_XCirculateEvent_display (XCirculateEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XCirculateEvent_send_event(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_send_event (XCirculateEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XCirculateEvent_send_event(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_send_event (XCirculateEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XCirculateEvent_serial(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_serial (XCirculateEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XCirculateEvent_serial(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_serial (XCirculateEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XCirculateEvent_type(i)
+-XCirculateEvent* i;
++int 
++XCirculateEvent_type (XCirculateEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XCirculateEvent_type(i, j)
+-XCirculateEvent* i;
+-int j;
++void 
++set_XCirculateEvent_type (XCirculateEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2857,97 +2671,91 @@ int j;
+ /********* XCirculateRequestEvent functions *****/
+-long  make_XCirculateRequestEvent (){
++long 
++make_XCirculateRequestEvent (void){
+           return ((long) calloc(1, sizeof(XCirculateRequestEvent)));
+ }
+-int  XCirculateRequestEvent_place(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_place (XCirculateRequestEvent *i)
+ {
+           return(i->place);
+ }
+-void set_XCirculateRequestEvent_place(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_place (XCirculateRequestEvent *i, int j)
+ {
+           i->place = j;
+ }
+-int  XCirculateRequestEvent_window(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_window (XCirculateRequestEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XCirculateRequestEvent_window(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_window (XCirculateRequestEvent *i, int j)
+ {
+           i->window = j;
+ }
+-int  XCirculateRequestEvent_parent(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_parent (XCirculateRequestEvent *i)
+ {
+           return(i->parent);
+ }
+-void set_XCirculateRequestEvent_parent(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_parent (XCirculateRequestEvent *i, int j)
+ {
+           i->parent = j;
+ }
+-long  XCirculateRequestEvent_display(i)
+-XCirculateRequestEvent* i;
++long 
++XCirculateRequestEvent_display (XCirculateRequestEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XCirculateRequestEvent_display(i, j)
+-XCirculateRequestEvent* i;
+-long j;
++void 
++set_XCirculateRequestEvent_display (XCirculateRequestEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XCirculateRequestEvent_send_event(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_send_event (XCirculateRequestEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XCirculateRequestEvent_send_event(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_send_event (XCirculateRequestEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XCirculateRequestEvent_serial(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_serial (XCirculateRequestEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XCirculateRequestEvent_serial(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_serial (XCirculateRequestEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XCirculateRequestEvent_type(i)
+-XCirculateRequestEvent* i;
++int 
++XCirculateRequestEvent_type (XCirculateRequestEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XCirculateRequestEvent_type(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void 
++set_XCirculateRequestEvent_type (XCirculateRequestEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -2955,110 +2763,103 @@ int j;
+ /********* XPropertyEvent functions *****/
+-long  make_XPropertyEvent (){
++long 
++make_XPropertyEvent (void){
+           return ((long) calloc(1, sizeof(XPropertyEvent)));
+ }
+-int  XPropertyEvent_state(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_state (XPropertyEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XPropertyEvent_state(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_state (XPropertyEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XPropertyEvent_time(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_time (XPropertyEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XPropertyEvent_time(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_time (XPropertyEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XPropertyEvent_atom(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_atom (XPropertyEvent *i)
+ {
+           return(i->atom);
+ }
+-void set_XPropertyEvent_atom(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_atom (XPropertyEvent *i, int j)
+ {
+           i->atom = j;
+ }
+-int  XPropertyEvent_window(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_window (XPropertyEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XPropertyEvent_window(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_window (XPropertyEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XPropertyEvent_display(i)
+-XPropertyEvent* i;
++long 
++XPropertyEvent_display (XPropertyEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XPropertyEvent_display(i, j)
+-XPropertyEvent* i;
+-long j;
++void 
++set_XPropertyEvent_display (XPropertyEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XPropertyEvent_send_event(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_send_event (XPropertyEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XPropertyEvent_send_event(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_send_event (XPropertyEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XPropertyEvent_serial(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_serial (XPropertyEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XPropertyEvent_serial(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_serial (XPropertyEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XPropertyEvent_type(i)
+-XPropertyEvent* i;
++int 
++XPropertyEvent_type (XPropertyEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XPropertyEvent_type(i, j)
+-XPropertyEvent* i;
+-int j;
++void 
++set_XPropertyEvent_type (XPropertyEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3066,97 +2867,91 @@ int j;
+ /********* XSelectionClearEvent functions *****/
+-long  make_XSelectionClearEvent (){
++long 
++make_XSelectionClearEvent (void){
+           return ((long) calloc(1, sizeof(XSelectionClearEvent)));
+ }
+-int  XSelectionClearEvent_time(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_time (XSelectionClearEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XSelectionClearEvent_time(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_time (XSelectionClearEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XSelectionClearEvent_selection(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_selection (XSelectionClearEvent *i)
+ {
+           return(i->selection);
+ }
+-void set_XSelectionClearEvent_selection(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_selection (XSelectionClearEvent *i, int j)
+ {
+           i->selection = j;
+ }
+-int  XSelectionClearEvent_window(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_window (XSelectionClearEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XSelectionClearEvent_window(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_window (XSelectionClearEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XSelectionClearEvent_display(i)
+-XSelectionClearEvent* i;
++long 
++XSelectionClearEvent_display (XSelectionClearEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XSelectionClearEvent_display(i, j)
+-XSelectionClearEvent* i;
+-long j;
++void 
++set_XSelectionClearEvent_display (XSelectionClearEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XSelectionClearEvent_send_event(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_send_event (XSelectionClearEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XSelectionClearEvent_send_event(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_send_event (XSelectionClearEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XSelectionClearEvent_serial(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_serial (XSelectionClearEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XSelectionClearEvent_serial(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_serial (XSelectionClearEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XSelectionClearEvent_type(i)
+-XSelectionClearEvent* i;
++int 
++XSelectionClearEvent_type (XSelectionClearEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XSelectionClearEvent_type(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void 
++set_XSelectionClearEvent_type (XSelectionClearEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3164,136 +2959,127 @@ int j;
+ /********* XSelectionRequestEvent functions *****/
+-long  make_XSelectionRequestEvent (){
++long 
++make_XSelectionRequestEvent (void){
+           return ((long) calloc(1, sizeof(XSelectionRequestEvent)));
+ }
+-int  XSelectionRequestEvent_time(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_time (XSelectionRequestEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XSelectionRequestEvent_time(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_time (XSelectionRequestEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XSelectionRequestEvent_property(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_property (XSelectionRequestEvent *i)
+ {
+           return(i->property);
+ }
+-void set_XSelectionRequestEvent_property(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_property (XSelectionRequestEvent *i, int j)
+ {
+           i->property = j;
+ }
+-int  XSelectionRequestEvent_target(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_target (XSelectionRequestEvent *i)
+ {
+           return(i->target);
+ }
+-void set_XSelectionRequestEvent_target(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_target (XSelectionRequestEvent *i, int j)
+ {
+           i->target = j;
+ }
+-int  XSelectionRequestEvent_selection(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_selection (XSelectionRequestEvent *i)
+ {
+           return(i->selection);
+ }
+-void set_XSelectionRequestEvent_selection(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_selection (XSelectionRequestEvent *i, int j)
+ {
+           i->selection = j;
+ }
+-int  XSelectionRequestEvent_requestor(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_requestor (XSelectionRequestEvent *i)
+ {
+           return(i->requestor);
+ }
+-void set_XSelectionRequestEvent_requestor(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_requestor (XSelectionRequestEvent *i, int j)
+ {
+           i->requestor = j;
+ }
+-int  XSelectionRequestEvent_owner(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_owner (XSelectionRequestEvent *i)
+ {
+           return(i->owner);
+ }
+-void set_XSelectionRequestEvent_owner(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_owner (XSelectionRequestEvent *i, int j)
+ {
+           i->owner = j;
+ }
+-long  XSelectionRequestEvent_display(i)
+-XSelectionRequestEvent* i;
++long 
++XSelectionRequestEvent_display (XSelectionRequestEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XSelectionRequestEvent_display(i, j)
+-XSelectionRequestEvent* i;
+-long j;
++void 
++set_XSelectionRequestEvent_display (XSelectionRequestEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XSelectionRequestEvent_send_event(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_send_event (XSelectionRequestEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XSelectionRequestEvent_send_event(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_send_event (XSelectionRequestEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XSelectionRequestEvent_serial(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_serial (XSelectionRequestEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XSelectionRequestEvent_serial(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_serial (XSelectionRequestEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XSelectionRequestEvent_type(i)
+-XSelectionRequestEvent* i;
++int 
++XSelectionRequestEvent_type (XSelectionRequestEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XSelectionRequestEvent_type(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void 
++set_XSelectionRequestEvent_type (XSelectionRequestEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3301,123 +3087,115 @@ int j;
+ /********* XSelectionEvent functions *****/
+-long  make_XSelectionEvent (){
++long 
++make_XSelectionEvent (void){
+           return ((long) calloc(1, sizeof(XSelectionEvent)));
+ }
+-int  XSelectionEvent_time(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_time (XSelectionEvent *i)
+ {
+           return(i->time);
+ }
+-void set_XSelectionEvent_time(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_time (XSelectionEvent *i, int j)
+ {
+           i->time = j;
+ }
+-int  XSelectionEvent_property(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_property (XSelectionEvent *i)
+ {
+           return(i->property);
+ }
+-void set_XSelectionEvent_property(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_property (XSelectionEvent *i, int j)
+ {
+           i->property = j;
+ }
+-int  XSelectionEvent_target(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_target (XSelectionEvent *i)
+ {
+           return(i->target);
+ }
+-void set_XSelectionEvent_target(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_target (XSelectionEvent *i, int j)
+ {
+           i->target = j;
+ }
+-int  XSelectionEvent_selection(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_selection (XSelectionEvent *i)
+ {
+           return(i->selection);
+ }
+-void set_XSelectionEvent_selection(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_selection (XSelectionEvent *i, int j)
+ {
+           i->selection = j;
+ }
+-int  XSelectionEvent_requestor(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_requestor (XSelectionEvent *i)
+ {
+           return(i->requestor);
+ }
+-void set_XSelectionEvent_requestor(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_requestor (XSelectionEvent *i, int j)
+ {
+           i->requestor = j;
+ }
+-long  XSelectionEvent_display(i)
+-XSelectionEvent* i;
++long 
++XSelectionEvent_display (XSelectionEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XSelectionEvent_display(i, j)
+-XSelectionEvent* i;
+-long j;
++void 
++set_XSelectionEvent_display (XSelectionEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XSelectionEvent_send_event(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_send_event (XSelectionEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XSelectionEvent_send_event(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_send_event (XSelectionEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XSelectionEvent_serial(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_serial (XSelectionEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XSelectionEvent_serial(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_serial (XSelectionEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XSelectionEvent_type(i)
+-XSelectionEvent* i;
++int 
++XSelectionEvent_type (XSelectionEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XSelectionEvent_type(i, j)
+-XSelectionEvent* i;
+-int j;
++void 
++set_XSelectionEvent_type (XSelectionEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3425,110 +3203,103 @@ int j;
+ /********* XColormapEvent functions *****/
+-long  make_XColormapEvent (){
++long 
++make_XColormapEvent (void){
+           return ((long) calloc(1, sizeof(XColormapEvent)));
+ }
+-int  XColormapEvent_state(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_state (XColormapEvent *i)
+ {
+           return(i->state);
+ }
+-void set_XColormapEvent_state(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_state (XColormapEvent *i, int j)
+ {
+           i->state = j;
+ }
+-int  XColormapEvent_new(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_new (XColormapEvent *i)
+ {
+           return(i->new);
+ }
+-void set_XColormapEvent_new(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_new (XColormapEvent *i, int j)
+ {
+           i->new = j;
+ }
+-int  XColormapEvent_colormap(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_colormap (XColormapEvent *i)
+ {
+           return(i->colormap);
+ }
+-void set_XColormapEvent_colormap(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_colormap (XColormapEvent *i, int j)
+ {
+           i->colormap = j;
+ }
+-int  XColormapEvent_window(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_window (XColormapEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XColormapEvent_window(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_window (XColormapEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XColormapEvent_display(i)
+-XColormapEvent* i;
++long 
++XColormapEvent_display (XColormapEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XColormapEvent_display(i, j)
+-XColormapEvent* i;
+-long j;
++void 
++set_XColormapEvent_display (XColormapEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XColormapEvent_send_event(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_send_event (XColormapEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XColormapEvent_send_event(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_send_event (XColormapEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XColormapEvent_serial(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_serial (XColormapEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XColormapEvent_serial(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_serial (XColormapEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XColormapEvent_type(i)
+-XColormapEvent* i;
++int 
++XColormapEvent_type (XColormapEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XColormapEvent_type(i, j)
+-XColormapEvent* i;
+-int j;
++void 
++set_XColormapEvent_type (XColormapEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3536,98 +3307,92 @@ int j;
+ /********* XClientMessageEvent functions *****/
+-long  make_XClientMessageEvent (){
++long 
++make_XClientMessageEvent (void){
+           return ((long) calloc(1, sizeof(XClientMessageEvent)));
+ }
+-int  XClientMessageEvent_format(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_format (XClientMessageEvent *i)
+ {
+           return(i->format);
+ }
+-void set_XClientMessageEvent_format(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_format (XClientMessageEvent *i, int j)
+ {
+           i->format = j;
+ }
+-int  XClientMessageEvent_message_type(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_message_type (XClientMessageEvent *i)
+ {
+           return(i->message_type);
+ }
+-void set_XClientMessageEvent_message_type(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_message_type (XClientMessageEvent *i, int j)
+ {
+           i->message_type = j;
+ }
+-int  XClientMessageEvent_window(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_window (XClientMessageEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XClientMessageEvent_window(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_window (XClientMessageEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XClientMessageEvent_display(i)
+-XClientMessageEvent* i;
++long 
++XClientMessageEvent_display (XClientMessageEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XClientMessageEvent_display(i, j)
+-XClientMessageEvent* i;
+-long j;
++void 
++set_XClientMessageEvent_display (XClientMessageEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XClientMessageEvent_send_event(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_send_event (XClientMessageEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XClientMessageEvent_send_event(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_send_event (XClientMessageEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XClientMessageEvent_serial(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_serial (XClientMessageEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XClientMessageEvent_serial(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_serial (XClientMessageEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XClientMessageEvent_type(i)
+-XClientMessageEvent* i;
++int 
++XClientMessageEvent_type (XClientMessageEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XClientMessageEvent_type(i, j)
+-XClientMessageEvent* i;
+-int j;
++void 
++set_XClientMessageEvent_type (XClientMessageEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3635,110 +3400,103 @@ int j;
+ /********* XMappingEvent functions *****/
+-long  make_XMappingEvent (){
++long 
++make_XMappingEvent (void){
+           return ((long) calloc(1, sizeof(XMappingEvent)));
+ }
+-int  XMappingEvent_count(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_count (XMappingEvent *i)
+ {
+           return(i->count);
+ }
+-void set_XMappingEvent_count(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_count (XMappingEvent *i, int j)
+ {
+           i->count = j;
+ }
+-int XMappingEvent_first_keycode(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_first_keycode (XMappingEvent *i)
+ {
+           return(i->first_keycode);
+ }
+-void set_XMappingEvent_first_keycode(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_first_keycode (XMappingEvent *i, int j)
+ {
+           i->first_keycode = j;
+ }
+-int  XMappingEvent_request(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_request (XMappingEvent *i)
+ {
+           return(i->request);
+ }
+-void set_XMappingEvent_request(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_request (XMappingEvent *i, int j)
+ {
+           i->request = j;
+ }
+-int  XMappingEvent_window(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_window (XMappingEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XMappingEvent_window(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_window (XMappingEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XMappingEvent_display(i)
+-XMappingEvent* i;
++long 
++XMappingEvent_display (XMappingEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XMappingEvent_display(i, j)
+-XMappingEvent* i;
+-long j;
++void 
++set_XMappingEvent_display (XMappingEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XMappingEvent_send_event(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_send_event (XMappingEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XMappingEvent_send_event(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_send_event (XMappingEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XMappingEvent_serial(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_serial (XMappingEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XMappingEvent_serial(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_serial (XMappingEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XMappingEvent_type(i)
+-XMappingEvent* i;
++int 
++XMappingEvent_type (XMappingEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XMappingEvent_type(i, j)
+-XMappingEvent* i;
+-int j;
++void 
++set_XMappingEvent_type (XMappingEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3746,97 +3504,91 @@ int j;
+ /********* XErrorEvent functions *****/
+-long  make_XErrorEvent (){
++long 
++make_XErrorEvent (void){
+           return ((long) calloc(1, sizeof(XErrorEvent)));
+ }
+-char XErrorEvent_minor_code(i)
+-XErrorEvent* i;
++char 
++XErrorEvent_minor_code (XErrorEvent *i)
+ {
+           return(i->minor_code);
+ }
+-void set_XErrorEvent_minor_code(i, j)
+-XErrorEvent* i;
+-char j;
++void 
++set_XErrorEvent_minor_code (XErrorEvent *i, int j)
+ {
+           i->minor_code = j;
+ }
+-char XErrorEvent_request_code(i)
+-XErrorEvent* i;
++char 
++XErrorEvent_request_code (XErrorEvent *i)
+ {
+           return(i->request_code);
+ }
+-void set_XErrorEvent_request_code(i, j)
+-XErrorEvent* i;
+-char j;
++void 
++set_XErrorEvent_request_code (XErrorEvent *i, int j)
+ {
+           i->request_code = j;
+ }
+-char XErrorEvent_error_code(i)
+-XErrorEvent* i;
++char 
++XErrorEvent_error_code (XErrorEvent *i)
+ {
+           return(i->error_code);
+ }
+-void set_XErrorEvent_error_code(i, j)
+-XErrorEvent* i;
+-char j;
++void 
++set_XErrorEvent_error_code (XErrorEvent *i, int j)
+ {
+           i->error_code = j;
+ }
+-int  XErrorEvent_serial(i)
+-XErrorEvent* i;
++int 
++XErrorEvent_serial (XErrorEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XErrorEvent_serial(i, j)
+-XErrorEvent* i;
+-int j;
++void 
++set_XErrorEvent_serial (XErrorEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XErrorEvent_resourceid(i)
+-XErrorEvent* i;
++int 
++XErrorEvent_resourceid (XErrorEvent *i)
+ {
+           return(i->resourceid);
+ }
+-void set_XErrorEvent_resourceid(i, j)
+-XErrorEvent* i;
+-int j;
++void 
++set_XErrorEvent_resourceid (XErrorEvent *i, int j)
+ {
+           i->resourceid = j;
+ }
+-long  XErrorEvent_display(i)
+-XErrorEvent* i;
++long 
++XErrorEvent_display (XErrorEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XErrorEvent_display(i, j)
+-XErrorEvent* i;
+-long j;
++void 
++set_XErrorEvent_display (XErrorEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XErrorEvent_type(i)
+-XErrorEvent* i;
++int 
++XErrorEvent_type (XErrorEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XErrorEvent_type(i, j)
+-XErrorEvent* i;
+-int j;
++void 
++set_XErrorEvent_type (XErrorEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3844,71 +3596,67 @@ int j;
+ /********* XAnyEvent functions *****/
+-long  make_XAnyEvent (){
++long 
++make_XAnyEvent (void){
+           return ((long) calloc(1, sizeof(XAnyEvent)));
+ }
+-int  XAnyEvent_window(i)
+-XAnyEvent* i;
++int 
++XAnyEvent_window (XAnyEvent *i)
+ {
+           return(i->window);
+ }
+-void set_XAnyEvent_window(i, j)
+-XAnyEvent* i;
+-int j;
++void 
++set_XAnyEvent_window (XAnyEvent *i, int j)
+ {
+           i->window = j;
+ }
+-long  XAnyEvent_display(i)
+-XAnyEvent* i;
++long 
++XAnyEvent_display (XAnyEvent *i)
+ {
+           return((long) i->display);
+ }
+-void set_XAnyEvent_display(i, j)
+-XAnyEvent* i;
+-long j;
++void 
++set_XAnyEvent_display (XAnyEvent *i, long j)
+ {
+           i->display = (Display *) j;
+ }
+-int  XAnyEvent_send_event(i)
+-XAnyEvent* i;
++int 
++XAnyEvent_send_event (XAnyEvent *i)
+ {
+           return(i->send_event);
+ }
+-void set_XAnyEvent_send_event(i, j)
+-XAnyEvent* i;
+-int j;
++void 
++set_XAnyEvent_send_event (XAnyEvent *i, int j)
+ {
+           i->send_event = j;
+ }
+-int  XAnyEvent_serial(i)
+-XAnyEvent* i;
++int 
++XAnyEvent_serial (XAnyEvent *i)
+ {
+           return(i->serial);
+ }
+-void set_XAnyEvent_serial(i, j)
+-XAnyEvent* i;
+-int j;
++void 
++set_XAnyEvent_serial (XAnyEvent *i, int j)
+ {
+           i->serial = j;
+ }
+-int  XAnyEvent_type(i)
+-XAnyEvent* i;
++int 
++XAnyEvent_type (XAnyEvent *i)
+ {
+           return(i->type);
+ }
+-void set_XAnyEvent_type(i, j)
+-XAnyEvent* i;
+-int j;
++void 
++set_XAnyEvent_type (XAnyEvent *i, int j)
+ {
+           i->type = j;
+ }
+@@ -3916,6 +3664,7 @@ int j;
+ /********* XEvent functions *****/
+-long  make_XEvent (){
++long 
++make_XEvent (void){
+           return ((long) calloc(1, sizeof(XEvent)));
+ }
+--- gcl27-2.7.1.orig/xgcl-2/XStruct-2.c
++++ gcl27-2.7.1/xgcl-2/XStruct-2.c
+@@ -24,38 +24,37 @@
+ /********* _XQEvent functions *****/
++
+ #define NEED_EVENTS
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xlibint.h>
+-long  make__XQEvent (){
++long make__XQEvent (void)
++{
+           return ((long) calloc(1, sizeof(_XQEvent)));
+ }
+-XEvent _XQEvent_event(i)
+-_XQEvent* i;
++XEvent _XQEvent_event (_XQEvent* i)
+ {
+           return(i->event);
+ }
+-void set__XQEvent_event(i, j)
+-_XQEvent* i;
+-XEvent j;
++void 
++set__XQEvent_event (_XQEvent *i, XEvent j)
+ {
+           i->event = j;
+ }
+-long _XQEvent_next(i)
+-_XQEvent* i;
++long 
++_XQEvent_next (_XQEvent *i)
+ {
+           return((long) i->next);
+ }
+-void set__XQEvent_next(i, j)
+-_XQEvent* i;
+-long j;
++void 
++set__XQEvent_next (_XQEvent *i, long j)
+ {
+           i->next = (struct _XSQEvent *) j;
+ }
+@@ -63,84 +62,79 @@ long j;
+ /********* XCharStruct functions *****/
+-long  make_XCharStruct (){
++long 
++make_XCharStruct (void){
+           return ((long) calloc(1, sizeof(XCharStruct)));
+ }
+-int  XCharStruct_attributes(i)
+-XCharStruct* i;
++int 
++XCharStruct_attributes (XCharStruct *i)
+ {
+           return(i->attributes);
+ }
+-void set_XCharStruct_attributes(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_attributes (XCharStruct *i, int j)
+ {
+           i->attributes = j;
+ }
+-int  XCharStruct_descent(i)
+-XCharStruct* i;
++int 
++XCharStruct_descent (XCharStruct *i)
+ {
+           return(i->descent);
+ }
+-void set_XCharStruct_descent(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_descent (XCharStruct *i, int j)
+ {
+           i->descent = j;
+ }
+-int  XCharStruct_ascent(i)
+-XCharStruct* i;
++int 
++XCharStruct_ascent (XCharStruct *i)
+ {
+           return(i->ascent);
+ }
+-void set_XCharStruct_ascent(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_ascent (XCharStruct *i, int j)
+ {
+           i->ascent = j;
+ }
+-int  XCharStruct_width(i)
+-XCharStruct* i;
++int 
++XCharStruct_width (XCharStruct *i)
+ {
+           return(i->width);
+ }
+-void set_XCharStruct_width(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_width (XCharStruct *i, int j)
+ {
+           i->width = j;
+ }
+-int  XCharStruct_rbearing(i)
+-XCharStruct* i;
++int 
++XCharStruct_rbearing (XCharStruct *i)
+ {
+           return(i->rbearing);
+ }
+-void set_XCharStruct_rbearing(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_rbearing (XCharStruct *i, int j)
+ {
+           i->rbearing = j;
+ }
+-int  XCharStruct_lbearing(i)
+-XCharStruct* i;
++int 
++XCharStruct_lbearing (XCharStruct *i)
+ {
+           return(i->lbearing);
+ }
+-void set_XCharStruct_lbearing(i, j)
+-XCharStruct* i;
+-int j;
++void 
++set_XCharStruct_lbearing (XCharStruct *i, int j)
+ {
+           i->lbearing = j;
+ }
+@@ -148,32 +142,31 @@ int j;
+ /********* XFontProp functions *****/
+-long  make_XFontProp (){
++long 
++make_XFontProp (void){
+           return ((long) calloc(1, sizeof(XFontProp)));
+ }
+-int  XFontProp_card32(i)
+-XFontProp* i;
++int 
++XFontProp_card32 (XFontProp *i)
+ {
+           return(i->card32);
+ }
+-void set_XFontProp_card32(i, j)
+-XFontProp* i;
+-int j;
++void 
++set_XFontProp_card32 (XFontProp *i, int j)
+ {
+           i->card32 = j;
+ }
+-int  XFontProp_name(i)
+-XFontProp* i;
++int 
++XFontProp_name (XFontProp *i)
+ {
+           return(i->name);
+ }
+-void set_XFontProp_name(i, j)
+-XFontProp* i;
+-int j;
++void 
++set_XFontProp_name (XFontProp *i, int j)
+ {
+           i->name = j;
+ }
+@@ -181,211 +174,196 @@ int j;
+ /********* XFontStruct functions *****/
+-long  make_XFontStruct (){
++long 
++make_XFontStruct (void){
+           return ((long) calloc(1, sizeof(XFontStruct)));
+ }
+-int  XFontStruct_descent(i)
+-XFontStruct* i;
++int 
++XFontStruct_descent (XFontStruct *i)
+ {
+           return(i->descent);
+ }
+-void set_XFontStruct_descent(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_descent (XFontStruct *i, int j)
+ {
+           i->descent = j;
+ }
+-int  XFontStruct_ascent(i)
+-XFontStruct* i;
++int 
++XFontStruct_ascent (XFontStruct *i)
+ {
+           return(i->ascent);
+ }
+-void set_XFontStruct_ascent(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_ascent (XFontStruct *i, int j)
+ {
+           i->ascent = j;
+ }
+-long  XFontStruct_per_char(i)
+-XFontStruct* i;
++long 
++XFontStruct_per_char (XFontStruct *i)
+ {
+           return((long) i->per_char);
+ }
+-void set_XFontStruct_per_char(i, j)
+-XFontStruct* i;
+-long j;
++void 
++set_XFontStruct_per_char (XFontStruct *i, long j)
+ {
+           i->per_char = (XCharStruct *) j;
+ }
+-long XFontStruct_max_bounds(i)
+-XFontStruct* i;
++long 
++XFontStruct_max_bounds (XFontStruct *i)
+ {
+           return((long) &i->max_bounds);
+ }
+-long XFontStruct_min_bounds(i)
+-XFontStruct* i;
++long 
++XFontStruct_min_bounds (XFontStruct *i)
+ {
+           return((long) &i->min_bounds);
+ }
+-void set_XFontStruct_max_bounds(i, j)
+-XFontStruct* i;
+-XCharStruct j;
++void 
++set_XFontStruct_max_bounds (XFontStruct *i, XCharStruct j)
+ {
+           i->max_bounds = j;
+ }
+-void set_XFontStruct_min_bounds(i, j)
+-XFontStruct* i;
+-XCharStruct j;
++void 
++set_XFontStruct_min_bounds (XFontStruct *i, XCharStruct j)
+ {
+           i->min_bounds = j;
+ }
+-long  XFontStruct_properties(i)
+-XFontStruct* i;
++long 
++XFontStruct_properties (XFontStruct *i)
+ {
+           return((long) i->properties);
+ }
+-void set_XFontStruct_properties(i, j)
+-XFontStruct* i;
+-long j;
++void 
++set_XFontStruct_properties (XFontStruct *i, long j)
+ {
+           i->properties = (XFontProp *) j;
+ }
+-int  XFontStruct_n_properties(i)
+-XFontStruct* i;
++int 
++XFontStruct_n_properties (XFontStruct *i)
+ {
+           return(i->n_properties);
+ }
+-void set_XFontStruct_n_properties(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_n_properties (XFontStruct *i, int j)
+ {
+           i->n_properties = j;
+ }
+-int  XFontStruct_default_char(i)
+-XFontStruct* i;
++int 
++XFontStruct_default_char (XFontStruct *i)
+ {
+           return(i->default_char);
+ }
+-void set_XFontStruct_default_char(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_default_char (XFontStruct *i, int j)
+ {
+           i->default_char = j;
+ }
+-int  XFontStruct_all_chars_exist(i)
+-XFontStruct* i;
++int 
++XFontStruct_all_chars_exist (XFontStruct *i)
+ {
+           return(i->all_chars_exist);
+ }
+-void set_XFontStruct_all_chars_exist(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_all_chars_exist (XFontStruct *i, int j)
+ {
+           i->all_chars_exist = j;
+ }
+-int  XFontStruct_max_byte1(i)
+-XFontStruct* i;
++int 
++XFontStruct_max_byte1 (XFontStruct *i)
+ {
+           return(i->max_byte1);
+ }
+-void set_XFontStruct_max_byte1(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_max_byte1 (XFontStruct *i, int j)
+ {
+           i->max_byte1 = j;
+ }
+-int  XFontStruct_min_byte1(i)
+-XFontStruct* i;
++int 
++XFontStruct_min_byte1 (XFontStruct *i)
+ {
+           return(i->min_byte1);
+ }
+-void set_XFontStruct_min_byte1(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_min_byte1 (XFontStruct *i, int j)
+ {
+           i->min_byte1 = j;
+ }
+-int  XFontStruct_max_char_or_byte2(i)
+-XFontStruct* i;
++int 
++XFontStruct_max_char_or_byte2 (XFontStruct *i)
+ {
+           return(i->max_char_or_byte2);
+ }
+-void set_XFontStruct_max_char_or_byte2(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_max_char_or_byte2 (XFontStruct *i, int j)
+ {
+           i->max_char_or_byte2 = j;
+ }
+-int  XFontStruct_min_char_or_byte2(i)
+-XFontStruct* i;
++int 
++XFontStruct_min_char_or_byte2 (XFontStruct *i)
+ {
+           return(i->min_char_or_byte2);
+ }
+-void set_XFontStruct_min_char_or_byte2(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_min_char_or_byte2 (XFontStruct *i, int j)
+ {
+           i->min_char_or_byte2 = j;
+ }
+-int  XFontStruct_direction(i)
+-XFontStruct* i;
++int 
++XFontStruct_direction (XFontStruct *i)
+ {
+           return(i->direction);
+ }
+-void set_XFontStruct_direction(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_direction (XFontStruct *i, int j)
+ {
+           i->direction = j;
+ }
+-int  XFontStruct_fid(i)
+-XFontStruct* i;
++int 
++XFontStruct_fid (XFontStruct *i)
+ {
+           return(i->fid);
+ }
+-void set_XFontStruct_fid(i, j)
+-XFontStruct* i;
+-int j;
++void 
++set_XFontStruct_fid (XFontStruct *i, int j)
+ {
+           i->fid = j;
+ }
+-long  XFontStruct_ext_data(i)
+-XFontStruct* i;
++long 
++XFontStruct_ext_data (XFontStruct *i)
+ {
+           return((long) i->ext_data);
+ }
+-void set_XFontStruct_ext_data(i, j)
+-XFontStruct* i;
+-long j;
++void 
++set_XFontStruct_ext_data (XFontStruct *i, long j)
+ {
+           i->ext_data = (XExtData *) j;
+ }
+@@ -393,58 +371,55 @@ long j;
+ /********* XTextItem functions *****/
+-long  make_XTextItem (){
++long 
++make_XTextItem (void){
+           return ((long) calloc(1, sizeof(XTextItem)));
+ }
+-int  XTextItem_font(i)
+-XTextItem* i;
++int 
++XTextItem_font (XTextItem *i)
+ {
+           return(i->font);
+ }
+-void set_XTextItem_font(i, j)
+-XTextItem* i;
+-int j;
++void 
++set_XTextItem_font (XTextItem *i, int j)
+ {
+           i->font = j;
+ }
+-int  XTextItem_delta(i)
+-XTextItem* i;
++int 
++XTextItem_delta (XTextItem *i)
+ {
+           return(i->delta);
+ }
+-void set_XTextItem_delta(i, j)
+-XTextItem* i;
+-int j;
++void 
++set_XTextItem_delta (XTextItem *i, int j)
+ {
+           i->delta = j;
+ }
+-int  XTextItem_nchars(i)
+-XTextItem* i;
++int 
++XTextItem_nchars (XTextItem *i)
+ {
+           return(i->nchars);
+ }
+-void set_XTextItem_nchars(i, j)
+-XTextItem* i;
+-int j;
++void 
++set_XTextItem_nchars (XTextItem *i, int j)
+ {
+           i->nchars = j;
+ }
+-long  XTextItem_chars(i)
+-XTextItem* i;
++long 
++XTextItem_chars (XTextItem *i)
+ {
+           return((long) i->chars);
+ }
+-void set_XTextItem_chars(i, j)
+-XTextItem* i;
+-long j;
++void 
++set_XTextItem_chars (XTextItem *i, long j)
+ {
+           i->chars = (char *) j;
+ }
+@@ -452,32 +427,31 @@ long j;
+ /********* XChar2b functions *****/
+-long  make_XChar2b (){
++long 
++make_XChar2b (void){
+           return ((long) calloc(1, sizeof(XChar2b)));
+ }
+-char XChar2b_byte2(i)
+-XChar2b* i;
++char 
++XChar2b_byte2 (XChar2b *i)
+ {
+           return(i->byte2);
+ }
+-void set_XChar2b_byte2(i, j)
+-XChar2b* i;
+-char j;
++void 
++set_XChar2b_byte2 (XChar2b *i, int j)
+ {
+           i->byte2 = j;
+ }
+-char XChar2b_byte1(i)
+-XChar2b* i;
++char 
++XChar2b_byte1 (XChar2b *i)
+ {
+           return(i->byte1);
+ }
+-void set_XChar2b_byte1(i, j)
+-XChar2b* i;
+-char j;
++void 
++set_XChar2b_byte1 (XChar2b *i, int j)
+ {
+           i->byte1 = j;
+ }
+@@ -485,58 +459,55 @@ char j;
+ /********* XTextItem16 functions *****/
+-long  make_XTextItem16 (){
++long 
++make_XTextItem16 (void){
+           return ((long) calloc(1, sizeof(XTextItem16)));
+ }
+-int  XTextItem16_font(i)
+-XTextItem16* i;
++int 
++XTextItem16_font (XTextItem16 *i)
+ {
+           return(i->font);
+ }
+-void set_XTextItem16_font(i, j)
+-XTextItem16* i;
+-int j;
++void 
++set_XTextItem16_font (XTextItem16 *i, int j)
+ {
+           i->font = j;
+ }
+-int  XTextItem16_delta(i)
+-XTextItem16* i;
++int 
++XTextItem16_delta (XTextItem16 *i)
+ {
+           return(i->delta);
+ }
+-void set_XTextItem16_delta(i, j)
+-XTextItem16* i;
+-int j;
++void 
++set_XTextItem16_delta (XTextItem16 *i, int j)
+ {
+           i->delta = j;
+ }
+-int  XTextItem16_nchars(i)
+-XTextItem16* i;
++int 
++XTextItem16_nchars (XTextItem16 *i)
+ {
+           return(i->nchars);
+ }
+-void set_XTextItem16_nchars(i, j)
+-XTextItem16* i;
+-int j;
++void 
++set_XTextItem16_nchars (XTextItem16 *i, int j)
+ {
+           i->nchars = j;
+ }
+-long  XTextItem16_chars(i)
+-XTextItem16* i;
++long 
++XTextItem16_chars (XTextItem16 *i)
+ {
+           return((long) i->chars);
+ }
+-void set_XTextItem16_chars(i, j)
+-XTextItem16* i;
+-long j;
++void 
++set_XTextItem16_chars (XTextItem16 *i, long j)
+ {
+           i->chars = (XChar2b *) j;
+ }
+@@ -544,71 +515,67 @@ long j;
+ /********* XEDataObject functions *****/
+-long  make_XEDataObject (){
++long 
++make_XEDataObject (void){
+           return ((long) calloc(1, sizeof(XEDataObject)));
+ }
+-long  XEDataObject_font(i)
+-XEDataObject* i;
++long 
++XEDataObject_font (XEDataObject *i)
+ {
+           return((long) i->font);
+ }
+-void set_XEDataObject_font(i, j)
+-XEDataObject* i;
+-long j;
++void 
++set_XEDataObject_font (XEDataObject *i, long j)
+ {
+           i->font = (XFontStruct *) j;
+ }
+-long  XEDataObject_pixmap_format(i)
+-XEDataObject* i;
++long 
++XEDataObject_pixmap_format (XEDataObject *i)
+ {
+           return((long) i->pixmap_format);
+ }
+-void set_XEDataObject_pixmap_format(i, j)
+-XEDataObject* i;
+-long j;
++void 
++set_XEDataObject_pixmap_format (XEDataObject *i, long j)
+ {
+           i->pixmap_format = (ScreenFormat *) j;
+ }
+-long  XEDataObject_screen(i)
+-XEDataObject* i;
++long 
++XEDataObject_screen (XEDataObject *i)
+ {
+           return((long) i->screen);
+ }
+-void set_XEDataObject_screen(i, j)
+-XEDataObject* i;
+-long j;
++void 
++set_XEDataObject_screen (XEDataObject *i, long j)
+ {
+           i->screen = (Screen *) j;
+ }
+-long  XEDataObject_visual(i)
+-XEDataObject* i;
++long 
++XEDataObject_visual (XEDataObject *i)
+ {
+           return((long) i->visual);
+ }
+-void set_XEDataObject_visual(i, j)
+-XEDataObject* i;
+-long j;
++void 
++set_XEDataObject_visual (XEDataObject *i, long j)
+ {
+           i->visual = (Visual *) j;
+ }
+-GC   XEDataObject_gc(i)
+-XEDataObject* i;
++GC 
++XEDataObject_gc (XEDataObject *i)
+ {
+           return(i->gc);
+ }
+-void set_XEDataObject_gc(i, j)
+-XEDataObject* i;
+-GC j;
++void 
++set_XEDataObject_gc (XEDataObject *i, GC j)
+ {
+           i->gc = j;
+ }
+@@ -616,242 +583,189 @@ GC j;
+ /********* XSizeHints functions *****/
+-long  make_XSizeHints (){
++long 
++make_XSizeHints (void){
+           return ((long) calloc(1, sizeof(XSizeHints)));
+ }
+-int  XSizeHints_win_gravity(i)
+-XSizeHints *i;
++int  XSizeHints_win_gravity(XSizeHints *i)
+ {
+           return(i->win_gravity);
+ }
+-void set_XSizeHints_win_gravity(i, j)
+-XSizeHints *i;
+-int j;
++void set_XSizeHints_win_gravity(XSizeHints *i,int j)
+ {
+           i->win_gravity = j;
+ }
+-int  XSizeHints_base_height(i)
+-XSizeHints* i;
++int  XSizeHints_base_height(XSizeHints* i)
+ {
+           return(i->base_height);
+ }
+-void set_XSizeHints_base_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_base_height(XSizeHints* i,int j)
+ {
+           i->base_height = j;
+ }
+-int  XSizeHints_base_width(i)
+-XSizeHints* i;
++int  XSizeHints_base_width(XSizeHints* i)
+ {
+           return(i->base_width);
+ }
+-void set_XSizeHints_base_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_base_width(XSizeHints* i,int j)
+ {
+           i->base_width = j;
+ }
+-int  XSizeHints_height_inc(i)
+-XSizeHints* i;
++int  XSizeHints_height_inc(XSizeHints* i)
+ {
+           return(i->height_inc);
+ }
+-void set_XSizeHints_height_inc(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_height_inc(XSizeHints* i,int j)
+ {
+           i->height_inc = j;
+ }
+-int  XSizeHints_width_inc(i)
+-XSizeHints* i;
++int  XSizeHints_width_inc(XSizeHints* i)
+ {
+           return(i->width_inc);
+ }
+-void set_XSizeHints_width_inc(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_width_inc(XSizeHints* i,int j)
+ {
+           i->width_inc = j;
+ }
+-int  XSizeHints_max_height(i)
+-XSizeHints* i;
++int  XSizeHints_max_height(XSizeHints* i)
+ {
+           return(i->max_height);
+ }
+-void set_XSizeHints_max_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_height(XSizeHints* i,int j)
+ {
+           i->max_height = j;
+ }
+-int  XSizeHints_max_width(i)
+-XSizeHints* i;
++int  XSizeHints_max_width(XSizeHints* i)
+ {
+           return(i->max_width);
+ }
+-void set_XSizeHints_max_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_width(XSizeHints* i,int j)
+ {
+           i->max_width = j;
+ }
+-int  XSizeHints_min_height(i)
+-XSizeHints* i;
++int  XSizeHints_min_height(XSizeHints* i)
+ {
+           return(i->min_height);
+ }
+-void set_XSizeHints_min_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_height(XSizeHints* i,int j)
+ {
+           i->min_height = j;
+ }
+-int  XSizeHints_min_width(i)
+-XSizeHints* i;
++int  XSizeHints_min_width(XSizeHints* i)
+ {
+           return(i->min_width);
+ }
+-void set_XSizeHints_min_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_width(XSizeHints* i,int j)
+ {
+           i->min_width = j;
+ }
+-int  XSizeHints_height(i)
+-XSizeHints* i;
++int  XSizeHints_height(XSizeHints* i)
+ {
+           return(i->height);
+ }
+-void set_XSizeHints_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_height(XSizeHints* i,int j)
+ {
+           i->height = j;
+ }
+-int  XSizeHints_width(i)
+-XSizeHints* i;
++int  XSizeHints_width(XSizeHints* i)
+ {
+           return(i->width);
+ }
+-void set_XSizeHints_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_width(XSizeHints* i,int j)
+ {
+           i->width = j;
+ }
+-int  XSizeHints_y(i)
+-XSizeHints* i;
++int  XSizeHints_y(XSizeHints* i)
+ {
+           return(i->y);
+ }
+-void set_XSizeHints_y(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_y(XSizeHints* i,int j)
+ {
+           i->y = j;
+ }
+-int  XSizeHints_x(i)
+-XSizeHints* i;
++int  XSizeHints_x(XSizeHints* i)
+ {
+           return(i->x);
+ }
+-void set_XSizeHints_x(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_x(XSizeHints* i,int j)
+ {
+           i->x = j;
+ }
+-int  XSizeHints_flags(i)
+-XSizeHints* i;
++int  XSizeHints_flags(XSizeHints* i)
+ {
+           return(i->flags);
+ }
+-void set_XSizeHints_flags(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_flags(XSizeHints* i,int j)
+ {
+           i->flags = j;
+ }
+-int  XSizeHints_max_aspect_x(i)
+-XSizeHints* i;
++int  XSizeHints_max_aspect_x(XSizeHints* i)
+ {
+           return(i->max_aspect.x);
+ }
+-void  set_XSizeHints_max_aspect_x(i, j)
+-XSizeHints* i;
+-int   j;
++void  set_XSizeHints_max_aspect_x(XSizeHints* i,int j)
+ {
+           i->max_aspect.x = j;
+ }
+-int  XSizeHints_max_aspect_y(i)
+-XSizeHints* i;
++int  XSizeHints_max_aspect_y(XSizeHints* i)
+ {
+           return(i->max_aspect.y);
+ }
+-void  set_XSizeHints_max_aspect_y(i, j)
+-XSizeHints* i;
+-int   j;
++void  set_XSizeHints_max_aspect_y(XSizeHints* i,int j)
+ {
+           i->max_aspect.y = j;
+ }
+-int  XSizeHints_min_aspect_x(i)
+-XSizeHints* i;
++int  XSizeHints_min_aspect_x(XSizeHints* i)
+ {
+           return(i->min_aspect.x);
+ }
+-void  set_XSizeHints_min_aspect_x(i, j)
+-XSizeHints* i;
+-int   j;
++void  set_XSizeHints_min_aspect_x(XSizeHints* i,int j)
+ {
+           i->min_aspect.x = j;
+ }
+-int  XSizeHints_min_aspect_y(i)
+-XSizeHints* i;
++int  XSizeHints_min_aspect_y(XSizeHints* i)
+ {
+           return(i->min_aspect.y);
+ }
+-void  set_XSizeHints_min_aspect_y(i, j)
+-XSizeHints* i;
+-int   j;
++void  set_XSizeHints_min_aspect_y(XSizeHints* i,int j)
+ {
+           i->min_aspect.y = j;
+ }
+@@ -859,123 +773,115 @@ int    j;
+ /********* XWMHints functions *****/
+-long  make_XWMHints (){
++long 
++make_XWMHints (void){
+           return ((long) calloc(1, sizeof(XWMHints)));
+ }
+-int  XWMHints_window_group(i)
+-XWMHints* i;
++int 
++XWMHints_window_group (XWMHints *i)
+ {
+           return(i->window_group);
+ }
+-void set_XWMHints_window_group(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_window_group (XWMHints *i, int j)
+ {
+           i->window_group = j;
+ }
+-int  XWMHints_icon_mask(i)
+-XWMHints* i;
++int 
++XWMHints_icon_mask (XWMHints *i)
+ {
+           return(i->icon_mask);
+ }
+-void set_XWMHints_icon_mask(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_icon_mask (XWMHints *i, int j)
+ {
+           i->icon_mask = j;
+ }
+-int  XWMHints_icon_y(i)
+-XWMHints* i;
++int 
++XWMHints_icon_y (XWMHints *i)
+ {
+           return(i->icon_y);
+ }
+-void set_XWMHints_icon_y(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_icon_y (XWMHints *i, int j)
+ {
+           i->icon_y = j;
+ }
+-int  XWMHints_icon_x(i)
+-XWMHints* i;
++int 
++XWMHints_icon_x (XWMHints *i)
+ {
+           return(i->icon_x);
+ }
+-void set_XWMHints_icon_x(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_icon_x (XWMHints *i, int j)
+ {
+           i->icon_x = j;
+ }
+-int  XWMHints_icon_window(i)
+-XWMHints* i;
++int 
++XWMHints_icon_window (XWMHints *i)
+ {
+           return(i->icon_window);
+ }
+-void set_XWMHints_icon_window(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_icon_window (XWMHints *i, int j)
+ {
+           i->icon_window = j;
+ }
+-int  XWMHints_icon_pixmap(i)
+-XWMHints* i;
++int 
++XWMHints_icon_pixmap (XWMHints *i)
+ {
+           return(i->icon_pixmap);
+ }
+-void set_XWMHints_icon_pixmap(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_icon_pixmap (XWMHints *i, int j)
+ {
+           i->icon_pixmap = j;
+ }
+-int  XWMHints_initial_state(i)
+-XWMHints* i;
++int 
++XWMHints_initial_state (XWMHints *i)
+ {
+           return(i->initial_state);
+ }
+-void set_XWMHints_initial_state(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_initial_state (XWMHints *i, int j)
+ {
+           i->initial_state = j;
+ }
+-int  XWMHints_input(i)
+-XWMHints* i;
++int 
++XWMHints_input (XWMHints *i)
+ {
+           return(i->input);
+ }
+-void set_XWMHints_input(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_input (XWMHints *i, int j)
+ {
+           i->input = j;
+ }
+-int  XWMHints_flags(i)
+-XWMHints* i;
++int 
++XWMHints_flags (XWMHints *i)
+ {
+           return(i->flags);
+ }
+-void set_XWMHints_flags(i, j)
+-XWMHints* i;
+-int j;
++void 
++set_XWMHints_flags (XWMHints *i, int j)
+ {
+           i->flags = j;
+ }
+@@ -983,58 +889,55 @@ int j;
+ /********* XTextProperty functions *****/
+-long  make_XTextProperty (){
++long 
++make_XTextProperty (void){
+           return ((long) calloc(1, sizeof(XTextProperty)));
+ }
+-int  XTextProperty_nitems(i)
+-XTextProperty *i;
++int 
++XTextProperty_nitems (XTextProperty *i)
+ {
+           return(i->nitems);
+ }
+-void set_XTextProperty_nitems(i, j)
+-XTextProperty* i;
+-int j;
++void 
++set_XTextProperty_nitems (XTextProperty *i, int j)
+ {
+           i->nitems = j;
+ }
+-int  XTextProperty_format(i)
+-XTextProperty* i;
++int 
++XTextProperty_format (XTextProperty *i)
+ {
+           return(i->format);
+ }
+-void set_XTextProperty_format(i, j)
+-XTextProperty* i;
+-int j;
++void 
++set_XTextProperty_format (XTextProperty *i, int j)
+ {
+           i->format = j;
+ }
+-int  XTextProperty_encoding(i)
+-XTextProperty* i;
++int 
++XTextProperty_encoding (XTextProperty *i)
+ {
+           return(i->encoding);
+ }
+-void set_XTextProperty_encoding(i, j)
+-XTextProperty* i;
+-int j;
++void 
++set_XTextProperty_encoding (XTextProperty *i, int j)
+ {
+           i->encoding = j;
+ }
+-long  XTextProperty_value(i)
+-XTextProperty* i;
++long 
++XTextProperty_value (XTextProperty *i)
+ {
+           return((long) i->value);
+ }
+-void set_XTextProperty_value(i, j)
+-XTextProperty* i;
+-long j;
++void 
++set_XTextProperty_value (XTextProperty *i, long j)
+ {
+           i->value = (unsigned char *) j;
+ }
+@@ -1042,84 +945,79 @@ long j;
+ /********* XIconSize functions *****/
+-long  make_XIconSize (){
++long 
++make_XIconSize (void){
+           return ((long) calloc(1, sizeof(XIconSize)));
+ }
+-int  XIconSize_height_inc(i)
+-XIconSize* i;
++int 
++XIconSize_height_inc (XIconSize *i)
+ {
+           return(i->height_inc);
+ }
+-void set_XIconSize_height_inc(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_height_inc (XIconSize *i, int j)
+ {
+           i->height_inc = j;
+ }
+-int  XIconSize_width_inc(i)
+-XIconSize* i;
++int 
++XIconSize_width_inc (XIconSize *i)
+ {
+           return(i->width_inc);
+ }
+-void set_XIconSize_width_inc(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_width_inc (XIconSize *i, int j)
+ {
+           i->width_inc = j;
+ }
+-int  XIconSize_max_height(i)
+-XIconSize* i;
++int 
++XIconSize_max_height (XIconSize *i)
+ {
+           return(i->max_height);
+ }
+-void set_XIconSize_max_height(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_max_height (XIconSize *i, int j)
+ {
+           i->max_height = j;
+ }
+-int  XIconSize_max_width(i)
+-XIconSize* i;
++int 
++XIconSize_max_width (XIconSize *i)
+ {
+           return(i->max_width);
+ }
+-void set_XIconSize_max_width(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_max_width (XIconSize *i, int j)
+ {
+           i->max_width = j;
+ }
+-int  XIconSize_min_height(i)
+-XIconSize* i;
++int 
++XIconSize_min_height (XIconSize *i)
+ {
+           return(i->min_height);
+ }
+-void set_XIconSize_min_height(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_min_height (XIconSize *i, int j)
+ {
+           i->min_height = j;
+ }
+-int  XIconSize_min_width(i)
+-XIconSize* i;
++int 
++XIconSize_min_width (XIconSize *i)
+ {
+           return(i->min_width);
+ }
+-void set_XIconSize_min_width(i, j)
+-XIconSize* i;
+-int j;
++void 
++set_XIconSize_min_width (XIconSize *i, int j)
+ {
+           i->min_width = j;
+ }
+@@ -1127,32 +1025,31 @@ int j;
+ /********* XClassHint functions *****/
+-long  make_XClassHint (){
++long 
++make_XClassHint (void){
+           return ((long) calloc(1, sizeof(XClassHint)));
+ }
+-long  XClassHint_res_class(i)
+-XClassHint* i;
++long 
++XClassHint_res_class (XClassHint *i)
+ {
+           return((long) i->res_class);
+ }
+-void set_XClassHint_res_class(i, j)
+-XClassHint* i;
+-long j;
++void 
++set_XClassHint_res_class (XClassHint *i, long j)
+ {
+           i->res_class = (char *) j;
+ }
+-long  XClassHint_res_name(i)
+-XClassHint* i;
++long 
++XClassHint_res_name (XClassHint *i)
+ {
+           return((long) i->res_name);
+ }
+-void set_XClassHint_res_name(i, j)
+-XClassHint* i;
+-long j;
++void 
++set_XClassHint_res_name (XClassHint *i, long j)
+ {
+           i->res_name = (char *) j;
+ }
+@@ -1160,32 +1057,31 @@ long j;
+ /********* XComposeStatus functions *****/
+-long  make_XComposeStatus (){
++long 
++make_XComposeStatus (void){
+           return ((long) calloc(1, sizeof(XComposeStatus)));
+ }
+-int  XComposeStatus_chars_matched(i)
+-XComposeStatus* i;
++int 
++XComposeStatus_chars_matched (XComposeStatus *i)
+ {
+           return(i->chars_matched);
+ }
+-void set_XComposeStatus_chars_matched(i, j)
+-XComposeStatus* i;
+-int j;
++void 
++set_XComposeStatus_chars_matched (XComposeStatus *i, int j)
+ {
+           i->chars_matched = j;
+ }
+-long  XComposeStatus_compose_ptr(i)
+-XComposeStatus* i;
++long 
++XComposeStatus_compose_ptr (XComposeStatus *i)
+ {
+           return((long) i->compose_ptr);
+ }
+-void set_XComposeStatus_compose_ptr(i, j)
+-XComposeStatus* i;
+-long j;
++void 
++set_XComposeStatus_compose_ptr (XComposeStatus *i, long j)
+ {
+           i->compose_ptr = (XPointer) j;
+ }
+@@ -1193,136 +1089,127 @@ long j;
+ /********* XVisualInfo functions *****/
+-long  make_XVisualInfo (){
++long 
++make_XVisualInfo (void){
+           return ((long) calloc(1, sizeof(XVisualInfo)));
+ }
+-int  XVisualInfo_bits_per_rgb(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_bits_per_rgb (XVisualInfo *i)
+ {
+           return(i->bits_per_rgb);
+ }
+-void set_XVisualInfo_bits_per_rgb(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_bits_per_rgb (XVisualInfo *i, int j)
+ {
+           i->bits_per_rgb = j;
+ }
+-int  XVisualInfo_colormap_size(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_colormap_size (XVisualInfo *i)
+ {
+           return(i->colormap_size);
+ }
+-void set_XVisualInfo_colormap_size(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_colormap_size (XVisualInfo *i, int j)
+ {
+           i->colormap_size = j;
+ }
+-int  XVisualInfo_blue_mask(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_blue_mask (XVisualInfo *i)
+ {
+           return(i->blue_mask);
+ }
+-void set_XVisualInfo_blue_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_blue_mask (XVisualInfo *i, int j)
+ {
+           i->blue_mask = j;
+ }
+-int  XVisualInfo_green_mask(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_green_mask (XVisualInfo *i)
+ {
+           return(i->green_mask);
+ }
+-void set_XVisualInfo_green_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_green_mask (XVisualInfo *i, int j)
+ {
+           i->green_mask = j;
+ }
+-int  XVisualInfo_red_mask(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_red_mask (XVisualInfo *i)
+ {
+           return(i->red_mask);
+ }
+-void set_XVisualInfo_red_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_red_mask (XVisualInfo *i, int j)
+ {
+           i->red_mask = j;
+ }
+-int  XVisualInfo_class(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_class (XVisualInfo *i)
+ {
+           return(i->class);
+ }
+-void set_XVisualInfo_class(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_class (XVisualInfo *i, int j)
+ {
+           i->class = j;
+ }
+-int  XVisualInfo_depth(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_depth (XVisualInfo *i)
+ {
+           return(i->depth);
+ }
+-void set_XVisualInfo_depth(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_depth (XVisualInfo *i, int j)
+ {
+           i->depth = j;
+ }
+-int  XVisualInfo_screen(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_screen (XVisualInfo *i)
+ {
+           return(i->screen);
+ }
+-void set_XVisualInfo_screen(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_screen (XVisualInfo *i, int j)
+ {
+           i->screen = j;
+ }
+-int  XVisualInfo_visualid(i)
+-XVisualInfo* i;
++int 
++XVisualInfo_visualid (XVisualInfo *i)
+ {
+           return(i->visualid);
+ }
+-void set_XVisualInfo_visualid(i, j)
+-XVisualInfo* i;
+-int j;
++void 
++set_XVisualInfo_visualid (XVisualInfo *i, int j)
+ {
+           i->visualid = j;
+ }
+-long  XVisualInfo_visual(i)
+-XVisualInfo* i;
++long 
++XVisualInfo_visual (XVisualInfo *i)
+ {
+           return((long) i->visual);
+ }
+-void set_XVisualInfo_visual(i, j)
+-XVisualInfo* i;
+-long j;
++void 
++set_XVisualInfo_visual (XVisualInfo *i, long j)
+ {
+           i->visual = (Visual *) j;
+ }
+@@ -1330,136 +1217,127 @@ long j;
+ /********* XStandardColormap functions *****/
+-long  make_XStandardColormap (){
++long 
++make_XStandardColormap (void){
+           return ((long) calloc(1, sizeof(XStandardColormap)));
+ }
+-int  XStandardColormap_killid(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_killid (XStandardColormap *i)
+ {
+           return(i->killid);
+ }
+-void set_XStandardColormap_killid(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_killid (XStandardColormap *i, int j)
+ {
+           i->killid = j;
+ }
+-int  XStandardColormap_visualid(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_visualid (XStandardColormap *i)
+ {
+           return(i->visualid);
+ }
+-void set_XStandardColormap_visualid(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_visualid (XStandardColormap *i, int j)
+ {
+           i->visualid = j;
+ }
+-int  XStandardColormap_base_pixel(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_base_pixel (XStandardColormap *i)
+ {
+           return(i->base_pixel);
+ }
+-void set_XStandardColormap_base_pixel(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_base_pixel (XStandardColormap *i, int j)
+ {
+           i->base_pixel = j;
+ }
+-int  XStandardColormap_blue_mult(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_blue_mult (XStandardColormap *i)
+ {
+           return(i->blue_mult);
+ }
+-void set_XStandardColormap_blue_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_blue_mult (XStandardColormap *i, int j)
+ {
+           i->blue_mult = j;
+ }
+-int  XStandardColormap_blue_max(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_blue_max (XStandardColormap *i)
+ {
+           return(i->blue_max);
+ }
+-void set_XStandardColormap_blue_max(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_blue_max (XStandardColormap *i, int j)
+ {
+           i->blue_max = j;
+ }
+-int  XStandardColormap_green_mult(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_green_mult (XStandardColormap *i)
+ {
+           return(i->green_mult);
+ }
+-void set_XStandardColormap_green_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_green_mult (XStandardColormap *i, int j)
+ {
+           i->green_mult = j;
+ }
+-int  XStandardColormap_green_max(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_green_max (XStandardColormap *i)
+ {
+           return(i->green_max);
+ }
+-void set_XStandardColormap_green_max(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_green_max (XStandardColormap *i, int j)
+ {
+           i->green_max = j;
+ }
+-int  XStandardColormap_red_mult(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_red_mult (XStandardColormap *i)
+ {
+           return(i->red_mult);
+ }
+-void set_XStandardColormap_red_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_red_mult (XStandardColormap *i, int j)
+ {
+           i->red_mult = j;
+ }
+-int  XStandardColormap_red_max(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_red_max (XStandardColormap *i)
+ {
+           return(i->red_max);
+ }
+-void set_XStandardColormap_red_max(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_red_max (XStandardColormap *i, int j)
+ {
+           i->red_max = j;
+ }
+-int  XStandardColormap_colormap(i)
+-XStandardColormap* i;
++int 
++XStandardColormap_colormap (XStandardColormap *i)
+ {
+           return(i->colormap);
+ }
+-void set_XStandardColormap_colormap(i, j)
+-XStandardColormap* i;
+-int j;
++void 
++set_XStandardColormap_colormap (XStandardColormap *i, int j)
+ {
+           i->colormap = j;
+ }
+--- gcl27-2.7.1.orig/xgcl-2/XStruct-4.c
++++ gcl27-2.7.1/xgcl-2/XStruct-4.c
+@@ -30,58 +30,54 @@
+ /********* XExtCodes functions *****/
+-long  make_XExtCodes (){
++long make_XExtCodes (void)
++{
+           return ((long) calloc(1, sizeof(XExtCodes)));
+ }
+-int  XExtCodes_first_error(i)
+-XExtCodes* i;
++int XExtCodes_first_error (XExtCodes* i)
+ {
+           return(i->first_error);
+ }
+-void set_XExtCodes_first_error(i, j)
+-XExtCodes* i;
+-int j;
++void 
++set_XExtCodes_first_error (XExtCodes *i, int j)
+ {
+           i->first_error = j;
+ }
+-int  XExtCodes_first_event(i)
+-XExtCodes* i;
++int 
++XExtCodes_first_event (XExtCodes *i)
+ {
+           return(i->first_event);
+ }
+-void set_XExtCodes_first_event(i, j)
+-XExtCodes* i;
+-int j;
++void 
++set_XExtCodes_first_event (XExtCodes *i, int j)
+ {
+           i->first_event = j;
+ }
+-int  XExtCodes_major_opcode(i)
+-XExtCodes* i;
++int 
++XExtCodes_major_opcode (XExtCodes *i)
+ {
+           return(i->major_opcode);
+ }
+-void set_XExtCodes_major_opcode(i, j)
+-XExtCodes* i;
+-int j;
++void 
++set_XExtCodes_major_opcode (XExtCodes *i, int j)
+ {
+           i->major_opcode = j;
+ }
+-int  XExtCodes_extension(i)
+-XExtCodes* i;
++int 
++XExtCodes_extension (XExtCodes *i)
+ {
+           return(i->extension);
+ }
+-void set_XExtCodes_extension(i, j)
+-XExtCodes* i;
+-int j;
++void 
++set_XExtCodes_extension (XExtCodes *i, int j)
+ {
+           i->extension = j;
+ }
+@@ -89,45 +85,43 @@ int j;
+ /********* XPixmapFormatValues functions *****/
+-long  make_XPixmapFormatValues (){
++long 
++make_XPixmapFormatValues (void){
+           return ((long) calloc(1, sizeof(XPixmapFormatValues)));
+ }
+-int  XPixmapFormatValues_scanline_pad(i)
+-XPixmapFormatValues* i;
++int 
++XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i)
+ {
+           return(i->scanline_pad);
+ }
+-void set_XPixmapFormatValues_scanline_pad(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void 
++set_XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i, int j)
+ {
+           i->scanline_pad = j;
+ }
+-int  XPixmapFormatValues_bits_per_pixel(i)
+-XPixmapFormatValues* i;
++int 
++XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i)
+ {
+           return(i->bits_per_pixel);
+ }
+-void set_XPixmapFormatValues_bits_per_pixel(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void 
++set_XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i, int j)
+ {
+           i->bits_per_pixel = j;
+ }
+-int  XPixmapFormatValues_depth(i)
+-XPixmapFormatValues* i;
++int 
++XPixmapFormatValues_depth (XPixmapFormatValues *i)
+ {
+           return(i->depth);
+ }
+-void set_XPixmapFormatValues_depth(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void 
++set_XPixmapFormatValues_depth (XPixmapFormatValues *i, int j)
+ {
+           i->depth = j;
+ }
+@@ -135,305 +129,283 @@ int j;
+ /********* XGCValues functions *****/
+-long  make_XGCValues (){
++long 
++make_XGCValues (void){
+           return ((long) calloc(1, sizeof(XGCValues)));
+ }
+-char XGCValues_dashes(i)
+-XGCValues* i;
++char 
++XGCValues_dashes (XGCValues *i)
+ {
+           return(i->dashes);
+ }
+-void set_XGCValues_dashes(i, j)
+-XGCValues* i;
+-char j;
++void 
++set_XGCValues_dashes (XGCValues *i, int j)
+ {
+           i->dashes = j;
+ }
+-int  XGCValues_dash_offset(i)
+-XGCValues* i;
++int 
++XGCValues_dash_offset (XGCValues *i)
+ {
+           return(i->dash_offset);
+ }
+-void set_XGCValues_dash_offset(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_dash_offset (XGCValues *i, int j)
+ {
+           i->dash_offset = j;
+ }
+-int  XGCValues_clip_mask(i)
+-XGCValues* i;
++int 
++XGCValues_clip_mask (XGCValues *i)
+ {
+           return(i->clip_mask);
+ }
+-void set_XGCValues_clip_mask(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_clip_mask (XGCValues *i, int j)
+ {
+           i->clip_mask = j;
+ }
+-int  XGCValues_clip_y_origin(i)
+-XGCValues* i;
++int 
++XGCValues_clip_y_origin (XGCValues *i)
+ {
+           return(i->clip_y_origin);
+ }
+-void set_XGCValues_clip_y_origin(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_clip_y_origin (XGCValues *i, int j)
+ {
+           i->clip_y_origin = j;
+ }
+-int  XGCValues_clip_x_origin(i)
+-XGCValues* i;
++int 
++XGCValues_clip_x_origin (XGCValues *i)
+ {
+           return(i->clip_x_origin);
+ }
+-void set_XGCValues_clip_x_origin(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_clip_x_origin (XGCValues *i, int j)
+ {
+           i->clip_x_origin = j;
+ }
+-int  XGCValues_graphics_exposures(i)
+-XGCValues* i;
++int 
++XGCValues_graphics_exposures (XGCValues *i)
+ {
+           return(i->graphics_exposures);
+ }
+-void set_XGCValues_graphics_exposures(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_graphics_exposures (XGCValues *i, int j)
+ {
+           i->graphics_exposures = j;
+ }
+-int  XGCValues_subwindow_mode(i)
+-XGCValues* i;
++int 
++XGCValues_subwindow_mode (XGCValues *i)
+ {
+           return(i->subwindow_mode);
+ }
+-void set_XGCValues_subwindow_mode(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_subwindow_mode (XGCValues *i, int j)
+ {
+           i->subwindow_mode = j;
+ }
+-int  XGCValues_font(i)
+-XGCValues* i;
++int 
++XGCValues_font (XGCValues *i)
+ {
+           return(i->font);
+ }
+-void set_XGCValues_font(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_font (XGCValues *i, int j)
+ {
+           i->font = j;
+ }
+-int  XGCValues_ts_y_origin(i)
+-XGCValues* i;
++int 
++XGCValues_ts_y_origin (XGCValues *i)
+ {
+           return(i->ts_y_origin);
+ }
+-void set_XGCValues_ts_y_origin(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_ts_y_origin (XGCValues *i, int j)
+ {
+           i->ts_y_origin = j;
+ }
+-int  XGCValues_ts_x_origin(i)
+-XGCValues* i;
++int 
++XGCValues_ts_x_origin (XGCValues *i)
+ {
+           return(i->ts_x_origin);
+ }
+-void set_XGCValues_ts_x_origin(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_ts_x_origin (XGCValues *i, int j)
+ {
+           i->ts_x_origin = j;
+ }
+-int  XGCValues_stipple(i)
+-XGCValues* i;
++int 
++XGCValues_stipple (XGCValues *i)
+ {
+           return(i->stipple);
+ }
+-void set_XGCValues_stipple(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_stipple (XGCValues *i, int j)
+ {
+           i->stipple = j;
+ }
+-int  XGCValues_tile(i)
+-XGCValues* i;
++int 
++XGCValues_tile (XGCValues *i)
+ {
+           return(i->tile);
+ }
+-void set_XGCValues_tile(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_tile (XGCValues *i, int j)
+ {
+           i->tile = j;
+ }
+-int  XGCValues_arc_mode(i)
+-XGCValues* i;
++int 
++XGCValues_arc_mode (XGCValues *i)
+ {
+           return(i->arc_mode);
+ }
+-void set_XGCValues_arc_mode(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_arc_mode (XGCValues *i, int j)
+ {
+           i->arc_mode = j;
+ }
+-int  XGCValues_fill_rule(i)
+-XGCValues* i;
++int 
++XGCValues_fill_rule (XGCValues *i)
+ {
+           return(i->fill_rule);
+ }
+-void set_XGCValues_fill_rule(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_fill_rule (XGCValues *i, int j)
+ {
+           i->fill_rule = j;
+ }
+-int  XGCValues_fill_style(i)
+-XGCValues* i;
++int 
++XGCValues_fill_style (XGCValues *i)
+ {
+           return(i->fill_style);
+ }
+-void set_XGCValues_fill_style(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_fill_style (XGCValues *i, int j)
+ {
+           i->fill_style = j;
+ }
+-int  XGCValues_join_style(i)
+-XGCValues* i;
++int 
++XGCValues_join_style (XGCValues *i)
+ {
+           return(i->join_style);
+ }
+-void set_XGCValues_join_style(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_join_style (XGCValues *i, int j)
+ {
+           i->join_style = j;
+ }
+-int  XGCValues_cap_style(i)
+-XGCValues* i;
++int 
++XGCValues_cap_style (XGCValues *i)
+ {
+           return(i->cap_style);
+ }
+-void set_XGCValues_cap_style(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_cap_style (XGCValues *i, int j)
+ {
+           i->cap_style = j;
+ }
+-int  XGCValues_line_style(i)
+-XGCValues* i;
++int 
++XGCValues_line_style (XGCValues *i)
+ {
+           return(i->line_style);
+ }
+-void set_XGCValues_line_style(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_line_style (XGCValues *i, int j)
+ {
+           i->line_style = j;
+ }
+-int  XGCValues_line_width(i)
+-XGCValues* i;
++int 
++XGCValues_line_width (XGCValues *i)
+ {
+           return(i->line_width);
+ }
+-void set_XGCValues_line_width(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_line_width (XGCValues *i, int j)
+ {
+           i->line_width = j;
+ }
+-int  XGCValues_background(i)
+-XGCValues* i;
++int 
++XGCValues_background (XGCValues *i)
+ {
+           return(i->background);
+ }
+-void set_XGCValues_background(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_background (XGCValues *i, int j)
+ {
+           i->background = j;
+ }
+-int  XGCValues_foreground(i)
+-XGCValues* i;
++int 
++XGCValues_foreground (XGCValues *i)
+ {
+           return(i->foreground);
+ }
+-void set_XGCValues_foreground(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_foreground (XGCValues *i, int j)
+ {
+           i->foreground = j;
+ }
+-int  XGCValues_plane_mask(i)
+-XGCValues* i;
++int 
++XGCValues_plane_mask (XGCValues *i)
+ {
+           return(i->plane_mask);
+ }
+-void set_XGCValues_plane_mask(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_plane_mask (XGCValues *i, int j)
+ {
+           i->plane_mask = j;
+ }
+-int  XGCValues_function(i)
+-XGCValues* i;
++int 
++XGCValues_function (XGCValues *i)
+ {
+           return(i->function);
+ }
+-void set_XGCValues_function(i, j)
+-XGCValues* i;
+-int j;
++void 
++set_XGCValues_function (XGCValues *i, int j)
+ {
+           i->function = j;
+ }
+@@ -528,110 +500,103 @@ int j;
+ /********* Visual functions *****/
+-long  make_Visual (){
++long 
++make_Visual (void){
+           return ((long) calloc(1, sizeof(Visual)));
+ }
+-int  Visual_map_entries(i)
+-Visual* i;
++int 
++Visual_map_entries (Visual *i)
+ {
+           return(i->map_entries);
+ }
+-void set_Visual_map_entries(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_map_entries (Visual *i, int j)
+ {
+           i->map_entries = j;
+ }
+-int  Visual_bits_per_rgb(i)
+-Visual* i;
++int 
++Visual_bits_per_rgb (Visual *i)
+ {
+           return(i->bits_per_rgb);
+ }
+-void set_Visual_bits_per_rgb(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_bits_per_rgb (Visual *i, int j)
+ {
+           i->bits_per_rgb = j;
+ }
+-int   Visual_blue_mask(i)
+-Visual* i;
++int 
++Visual_blue_mask (Visual *i)
+ {
+           return(i->blue_mask);
+ }
+-void set_Visual_blue_mask(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_blue_mask (Visual *i, int j)
+ {
+           i->blue_mask = j;
+ }
+-int  Visual_green_mask(i)
+-Visual* i;
++int 
++Visual_green_mask (Visual *i)
+ {
+           return(i->green_mask);
+ }
+-void set_Visual_green_mask(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_green_mask (Visual *i, int j)
+ {
+           i->green_mask = j;
+ }
+-int  Visual_red_mask(i)
+-Visual* i;
++int 
++Visual_red_mask (Visual *i)
+ {
+           return(i->red_mask);
+ }
+-void set_Visual_red_mask(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_red_mask (Visual *i, int j)
+ {
+           i->red_mask = j;
+ }
+-int  Visual_class(i)
+-Visual* i;
++int 
++Visual_class (Visual *i)
+ {
+           return(i->class);
+ }
+-void set_Visual_class(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_class (Visual *i, int j)
+ {
+           i->class = j;
+ }
+-int  Visual_visualid(i)
+-Visual* i;
++int 
++Visual_visualid (Visual *i)
+ {
+           return(i->visualid);
+ }
+-void set_Visual_visualid(i, j)
+-Visual* i;
+-int j;
++void 
++set_Visual_visualid (Visual *i, int j)
+ {
+           i->visualid = j;
+ }
+-long  Visual_ext_data(i)
+-Visual* i;
++long 
++Visual_ext_data (Visual *i)
+ {
+           return((long) i->ext_data);
+ }
+-void set_Visual_ext_data(i, j)
+-Visual* i;
+-long j;
++void 
++set_Visual_ext_data (Visual *i, long j)
+ {
+           i->ext_data = (XExtData *) j;
+ }
+@@ -639,45 +604,43 @@ long j;
+ /********* Depth functions *****/
+-long  make_Depth (){
++long 
++make_Depth (void){
+           return ((long) calloc(1, sizeof(Depth)));
+ }
+-long  Depth_visuals(i)
+-Depth* i;
++long 
++Depth_visuals (Depth *i)
+ {
+           return((long) i->visuals);
+ }
+-void set_Depth_visuals(i, j)
+-Depth* i;
+-long j;
++void 
++set_Depth_visuals (Depth *i, long j)
+ {
+           i->visuals = (Visual *) j;
+ }
+-int  Depth_nvisuals(i)
+-Depth* i;
++int 
++Depth_nvisuals (Depth *i)
+ {
+           return(i->nvisuals);
+ }
+-void set_Depth_nvisuals(i, j)
+-Depth* i;
+-int j;
++void 
++set_Depth_nvisuals (Depth *i, int j)
+ {
+           i->nvisuals = j;
+ }
+-int  Depth_depth(i)
+-Depth* i;
++int 
++Depth_depth (Depth *i)
+ {
+           return(i->depth);
+ }
+-void set_Depth_depth(i, j)
+-Depth* i;
+-int j;
++void 
++set_Depth_depth (Depth *i, int j)
+ {
+           i->depth = j;
+ }
+@@ -685,266 +648,247 @@ int j;
+ /********* Screen functions *****/
+-long  make_Screen (){
++long 
++make_Screen (void){
+           return ((long) calloc(1, sizeof(Screen)));
+ }
+-int  Screen_root_input_mask(i)
+-Screen* i;
++int 
++Screen_root_input_mask (Screen *i)
+ {
+           return(i->root_input_mask);
+ }
+-void set_Screen_root_input_mask(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_root_input_mask (Screen *i, int j)
+ {
+           i->root_input_mask = j;
+ }
+-int  Screen_save_unders(i)
+-Screen* i;
++int 
++Screen_save_unders (Screen *i)
+ {
+           return(i->save_unders);
+ }
+-void set_Screen_save_unders(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_save_unders (Screen *i, int j)
+ {
+           i->save_unders = j;
+ }
+-int  Screen_backing_store(i)
+-Screen* i;
++int 
++Screen_backing_store (Screen *i)
+ {
+           return(i->backing_store);
+ }
+-void set_Screen_backing_store(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_backing_store (Screen *i, int j)
+ {
+           i->backing_store = j;
+ }
+-int  Screen_min_maps(i)
+-Screen* i;
++int 
++Screen_min_maps (Screen *i)
+ {
+           return(i->min_maps);
+ }
+-void set_Screen_min_maps(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_min_maps (Screen *i, int j)
+ {
+           i->min_maps = j;
+ }
+-int  Screen_max_maps(i)
+-Screen* i;
++int 
++Screen_max_maps (Screen *i)
+ {
+           return(i->max_maps);
+ }
+-void set_Screen_max_maps(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_max_maps (Screen *i, int j)
+ {
+           i->max_maps = j;
+ }
+-int  Screen_black_pixel(i)
+-Screen* i;
++int 
++Screen_black_pixel (Screen *i)
+ {
+           return(i->black_pixel);
+ }
+-void set_Screen_black_pixel(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_black_pixel (Screen *i, int j)
+ {
+           i->black_pixel = j;
+ }
+-int  Screen_white_pixel(i)
+-Screen* i;
++int 
++Screen_white_pixel (Screen *i)
+ {
+           return(i->white_pixel);
+ }
+-void set_Screen_white_pixel(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_white_pixel (Screen *i, int j)
+ {
+           i->white_pixel = j;
+ }
+-int  Screen_cmap(i)
+-Screen* i;
++int 
++Screen_cmap (Screen *i)
+ {
+           return(i->cmap);
+ }
+-void set_Screen_cmap(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_cmap (Screen *i, int j)
+ {
+           i->cmap = j;
+ }
+-long  Screen_default_gc(i)
+-Screen* i;
++long 
++Screen_default_gc (Screen *i)
+ {
+           return((long) i->default_gc);
+ }
+-void set_Screen_default_gc(i, j)
+-Screen* i;
+-long j;
++void 
++set_Screen_default_gc (Screen *i, long j)
+ {
+           i->default_gc = (GC) j;
+ }
+-long  Screen_root_visual(i)
+-Screen* i;
++long 
++Screen_root_visual (Screen *i)
+ {
+           return((long) i->root_visual);
+ }
+-void set_Screen_root_visual(i, j)
+-Screen* i;
+-long j;
++void 
++set_Screen_root_visual (Screen *i, long j)
+ {
+           i->root_visual = (Visual *) j;
+ }
+-int  Screen_root_depth(i)
+-Screen* i;
++int 
++Screen_root_depth (Screen *i)
+ {
+           return(i->root_depth);
+ }
+-void set_Screen_root_depth(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_root_depth (Screen *i, int j)
+ {
+           i->root_depth = j;
+ }
+-long  Screen_depths(i)
+-Screen* i;
++long 
++Screen_depths (Screen *i)
+ {
+           return((long) i->depths);
+ }
+-void set_Screen_depths(i, j)
+-Screen* i;
+-long j;
++void 
++set_Screen_depths (Screen *i, long j)
+ {
+           i->depths = (Depth *) j;
+ }
+-int  Screen_ndepths(i)
+-Screen* i;
++int 
++Screen_ndepths (Screen *i)
+ {
+           return(i->ndepths);
+ }
+-void set_Screen_ndepths(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_ndepths (Screen *i, int j)
+ {
+           i->ndepths = j;
+ }
+-int  Screen_mheight(i)
+-Screen* i;
++int 
++Screen_mheight (Screen *i)
+ {
+           return(i->mheight);
+ }
+-void set_Screen_mheight(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_mheight (Screen *i, int j)
+ {
+           i->mheight = j;
+ }
+-int  Screen_mwidth(i)
+-Screen* i;
++int 
++Screen_mwidth (Screen *i)
+ {
+           return(i->mwidth);
+ }
+-void set_Screen_mwidth(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_mwidth (Screen *i, int j)
+ {
+           i->mwidth = j;
+ }
+-int  Screen_height(i)
+-Screen* i;
++int 
++Screen_height (Screen *i)
+ {
+           return(i->height);
+ }
+-void set_Screen_height(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_height (Screen *i, int j)
+ {
+           i->height = j;
+ }
+-int  Screen_width(i)
+-Screen* i;
++int 
++Screen_width (Screen *i)
+ {
+           return(i->width);
+ }
+-void set_Screen_width(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_width (Screen *i, int j)
+ {
+           i->width = j;
+ }
+-int  Screen_root(i)
+-Screen* i;
++int 
++Screen_root (Screen *i)
+ {
+           return(i->root);
+ }
+-void set_Screen_root(i, j)
+-Screen* i;
+-int j;
++void 
++set_Screen_root (Screen *i, int j)
+ {
+           i->root = j;
+ }
+-long Screen_display(i)
+-Screen* i;
++long 
++Screen_display (Screen *i)
+ {
+           return((long) i->display);
+ }
+-void set_Screen_display(i, j)
+-Screen* i;
+-long j;
++void 
++set_Screen_display (Screen *i, long j)
+ {
+            i->display = (struct _XDisplay *) j;
+ }
+-long  Screen_ext_data(i)
+-Screen* i;
++long 
++Screen_ext_data (Screen *i)
+ {
+           return((long) i->ext_data);
+ }
+-void set_Screen_ext_data(i, j)
+-Screen* i;
+-long j;
++void 
++set_Screen_ext_data (Screen *i, long j)
+ {
+           i->ext_data = (XExtData *) j;
+ }
+@@ -952,58 +896,55 @@ long j;
+ /********* ScreenFormat functions *****/
+-long  make_ScreenFormat (){
++long 
++make_ScreenFormat (void){
+           return ((long) calloc(1, sizeof(ScreenFormat)));
+ }
+-int  ScreenFormat_scanline_pad(i)
+-ScreenFormat* i;
++int 
++ScreenFormat_scanline_pad (ScreenFormat *i)
+ {
+           return(i->scanline_pad);
+ }
+-void set_ScreenFormat_scanline_pad(i, j)
+-ScreenFormat* i;
+-int j;
++void 
++set_ScreenFormat_scanline_pad (ScreenFormat *i, int j)
+ {
+           i->scanline_pad = j;
+ }
+-int  ScreenFormat_bits_per_pixel(i)
+-ScreenFormat* i;
++int 
++ScreenFormat_bits_per_pixel (ScreenFormat *i)
+ {
+           return(i->bits_per_pixel);
+ }
+-void set_ScreenFormat_bits_per_pixel(i, j)
+-ScreenFormat* i;
+-int j;
++void 
++set_ScreenFormat_bits_per_pixel (ScreenFormat *i, int j)
+ {
+           i->bits_per_pixel = j;
+ }
+-int  ScreenFormat_depth(i)
+-ScreenFormat* i;
++int 
++ScreenFormat_depth (ScreenFormat *i)
+ {
+           return(i->depth);
+ }
+-void set_ScreenFormat_depth(i, j)
+-ScreenFormat* i;
+-int j;
++void 
++set_ScreenFormat_depth (ScreenFormat *i, int j)
+ {
+           i->depth = j;
+ }
+-long  ScreenFormat_ext_data(i)
+-ScreenFormat* i;
++long 
++ScreenFormat_ext_data (ScreenFormat *i)
+ {
+           return((long) i->ext_data);
+ }
+-void set_ScreenFormat_ext_data(i, j)
+-ScreenFormat* i;
+-long j;
++void 
++set_ScreenFormat_ext_data (ScreenFormat *i, long j)
+ {
+           i->ext_data = (XExtData *) j;
+ }
+@@ -1011,201 +952,187 @@ long j;
+ /********* XSetWindowAttributes functions *****/
+-long  make_XSetWindowAttributes (){
++long 
++make_XSetWindowAttributes (void){
+           return ((long) calloc(1, sizeof(XSetWindowAttributes)));
+ }
+-int  XSetWindowAttributes_cursor(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_cursor (XSetWindowAttributes *i)
+ {
+           return(i->cursor);
+ }
+-void set_XSetWindowAttributes_cursor(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_cursor (XSetWindowAttributes *i, int j)
+ {
+           i->cursor = j;
+ }
+-int  XSetWindowAttributes_colormap(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_colormap (XSetWindowAttributes *i)
+ {
+           return(i->colormap);
+ }
+-void set_XSetWindowAttributes_colormap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_colormap (XSetWindowAttributes *i, int j)
+ {
+           i->colormap = j;
+ }
+-int  XSetWindowAttributes_override_redirect(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_override_redirect (XSetWindowAttributes *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XSetWindowAttributes_override_redirect(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_override_redirect (XSetWindowAttributes *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XSetWindowAttributes_do_not_propagate_mask(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i)
+ {
+           return(i->do_not_propagate_mask);
+ }
+-void set_XSetWindowAttributes_do_not_propagate_mask(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i, int j)
+ {
+           i->do_not_propagate_mask = j;
+ }
+-int  XSetWindowAttributes_event_mask(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_event_mask (XSetWindowAttributes *i)
+ {
+           return(i->event_mask);
+ }
+-void set_XSetWindowAttributes_event_mask(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_event_mask (XSetWindowAttributes *i, int j)
+ {
+           i->event_mask = j;
+ }
+-int  XSetWindowAttributes_save_under(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_save_under (XSetWindowAttributes *i)
+ {
+           return(i->save_under);
+ }
+-void set_XSetWindowAttributes_save_under(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_save_under (XSetWindowAttributes *i, int j)
+ {
+           i->save_under = j;
+ }
+-int  XSetWindowAttributes_backing_pixel(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i)
+ {
+           return(i->backing_pixel);
+ }
+-void set_XSetWindowAttributes_backing_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i, int j)
+ {
+           i->backing_pixel = j;
+ }
+-int  XSetWindowAttributes_backing_planes(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_backing_planes (XSetWindowAttributes *i)
+ {
+           return(i->backing_planes);
+ }
+-void set_XSetWindowAttributes_backing_planes(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_backing_planes (XSetWindowAttributes *i, int j)
+ {
+           i->backing_planes = j;
+ }
+-int  XSetWindowAttributes_backing_store(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_backing_store (XSetWindowAttributes *i)
+ {
+           return(i->backing_store);
+ }
+-void set_XSetWindowAttributes_backing_store(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_backing_store (XSetWindowAttributes *i, int j)
+ {
+           i->backing_store = j;
+ }
+-int  XSetWindowAttributes_win_gravity(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_win_gravity (XSetWindowAttributes *i)
+ {
+           return(i->win_gravity);
+ }
+-void set_XSetWindowAttributes_win_gravity(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_win_gravity (XSetWindowAttributes *i, int j)
+ {
+           i->win_gravity = j;
+ }
+-int  XSetWindowAttributes_bit_gravity(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i)
+ {
+           return(i->bit_gravity);
+ }
+-void set_XSetWindowAttributes_bit_gravity(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i, int j)
+ {
+           i->bit_gravity = j;
+ }
+-int  XSetWindowAttributes_border_pixel(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_border_pixel (XSetWindowAttributes *i)
+ {
+           return(i->border_pixel);
+ }
+-void set_XSetWindowAttributes_border_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_border_pixel (XSetWindowAttributes *i, int j)
+ {
+           i->border_pixel = j;
+ }
+-int  XSetWindowAttributes_border_pixmap(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i)
+ {
+           return(i->border_pixmap);
+ }
+-void set_XSetWindowAttributes_border_pixmap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i, int j)
+ {
+           i->border_pixmap = j;
+ }
+-int  XSetWindowAttributes_background_pixel(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_background_pixel (XSetWindowAttributes *i)
+ {
+           return(i->background_pixel);
+ }
+-void set_XSetWindowAttributes_background_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_background_pixel (XSetWindowAttributes *i, int j)
+ {
+           i->background_pixel = j;
+ }
+-int  XSetWindowAttributes_background_pixmap(i)
+-XSetWindowAttributes* i;
++int 
++XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i)
+ {
+           return(i->background_pixmap);
+ }
+-void set_XSetWindowAttributes_background_pixmap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void 
++set_XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i, int j)
+ {
+           i->background_pixmap = j;
+ }
+@@ -1213,305 +1140,283 @@ int j;
+ /********* XWindowAttributes functions *****/
+-long  make_XWindowAttributes (){
++long 
++make_XWindowAttributes (void){
+           return ((long) calloc(1, sizeof(XWindowAttributes)));
+ }
+-long  XWindowAttributes_screen(i)
+-XWindowAttributes* i;
++long 
++XWindowAttributes_screen (XWindowAttributes *i)
+ {
+           return((long) i->screen);
+ }
+-void set_XWindowAttributes_screen(i, j)
+-XWindowAttributes* i;
+-long j;
++void 
++set_XWindowAttributes_screen (XWindowAttributes *i, long j)
+ {
+           i->screen = (Screen *) j;
+ }
+-int  XWindowAttributes_override_redirect(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_override_redirect (XWindowAttributes *i)
+ {
+           return(i->override_redirect);
+ }
+-void set_XWindowAttributes_override_redirect(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_override_redirect (XWindowAttributes *i, int j)
+ {
+           i->override_redirect = j;
+ }
+-int  XWindowAttributes_do_not_propagate_mask(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i)
+ {
+           return(i->do_not_propagate_mask);
+ }
+-void set_XWindowAttributes_do_not_propagate_mask(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i, int j)
+ {
+           i->do_not_propagate_mask = j;
+ }
+-int  XWindowAttributes_your_event_mask(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_your_event_mask (XWindowAttributes *i)
+ {
+           return(i->your_event_mask);
+ }
+-void set_XWindowAttributes_your_event_mask(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_your_event_mask (XWindowAttributes *i, int j)
+ {
+           i->your_event_mask = j;
+ }
+-int  XWindowAttributes_all_event_masks(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_all_event_masks (XWindowAttributes *i)
+ {
+           return(i->all_event_masks);
+ }
+-void set_XWindowAttributes_all_event_masks(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_all_event_masks (XWindowAttributes *i, int j)
+ {
+           i->all_event_masks = j;
+ }
+-int  XWindowAttributes_map_state(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_map_state (XWindowAttributes *i)
+ {
+           return(i->map_state);
+ }
+-void set_XWindowAttributes_map_state(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_map_state (XWindowAttributes *i, int j)
+ {
+           i->map_state = j;
+ }
+-int  XWindowAttributes_map_installed(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_map_installed (XWindowAttributes *i)
+ {
+           return(i->map_installed);
+ }
+-void set_XWindowAttributes_map_installed(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_map_installed (XWindowAttributes *i, int j)
+ {
+           i->map_installed = j;
+ }
+-int  XWindowAttributes_colormap(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_colormap (XWindowAttributes *i)
+ {
+           return(i->colormap);
+ }
+-void set_XWindowAttributes_colormap(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_colormap (XWindowAttributes *i, int j)
+ {
+           i->colormap = j;
+ }
+-int  XWindowAttributes_save_under(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_save_under (XWindowAttributes *i)
+ {
+           return(i->save_under);
+ }
+-void set_XWindowAttributes_save_under(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_save_under (XWindowAttributes *i, int j)
+ {
+           i->save_under = j;
+ }
+-int  XWindowAttributes_backing_pixel(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_backing_pixel (XWindowAttributes *i)
+ {
+           return(i->backing_pixel);
+ }
+-void set_XWindowAttributes_backing_pixel(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_backing_pixel (XWindowAttributes *i, int j)
+ {
+           i->backing_pixel = j;
+ }
+-int  XWindowAttributes_backing_planes(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_backing_planes (XWindowAttributes *i)
+ {
+           return(i->backing_planes);
+ }
+-void set_XWindowAttributes_backing_planes(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_backing_planes (XWindowAttributes *i, int j)
+ {
+           i->backing_planes = j;
+ }
+-int  XWindowAttributes_backing_store(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_backing_store (XWindowAttributes *i)
+ {
+           return(i->backing_store);
+ }
+-void set_XWindowAttributes_backing_store(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_backing_store (XWindowAttributes *i, int j)
+ {
+           i->backing_store = j;
+ }
+-int  XWindowAttributes_win_gravity(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_win_gravity (XWindowAttributes *i)
+ {
+           return(i->win_gravity);
+ }
+-void set_XWindowAttributes_win_gravity(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_win_gravity (XWindowAttributes *i, int j)
+ {
+           i->win_gravity = j;
+ }
+-int  XWindowAttributes_bit_gravity(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_bit_gravity (XWindowAttributes *i)
+ {
+           return(i->bit_gravity);
+ }
+-void set_XWindowAttributes_bit_gravity(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_bit_gravity (XWindowAttributes *i, int j)
+ {
+           i->bit_gravity = j;
+ }
+-int  XWindowAttributes_class(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_class (XWindowAttributes *i)
+ {
+           return(i->class);
+ }
+-void set_XWindowAttributes_class(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_class (XWindowAttributes *i, int j)
+ {
+           i->class = j;
+ }
+-int  XWindowAttributes_root(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_root (XWindowAttributes *i)
+ {
+           return(i->root);
+ }
+-void set_XWindowAttributes_root(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_root (XWindowAttributes *i, int j)
+ {
+           i->root = j;
+ }
+-long  XWindowAttributes_visual(i)
+-XWindowAttributes* i;
++long 
++XWindowAttributes_visual (XWindowAttributes *i)
+ {
+           return((long) i->visual);
+ }
+-void set_XWindowAttributes_visual(i, j)
+-XWindowAttributes* i;
+-long j;
++void 
++set_XWindowAttributes_visual (XWindowAttributes *i, long j)
+ {
+           i->visual = (Visual *) j;
+ }
+-int  XWindowAttributes_depth(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_depth (XWindowAttributes *i)
+ {
+           return(i->depth);
+ }
+-void set_XWindowAttributes_depth(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_depth (XWindowAttributes *i, int j)
+ {
+           i->depth = j;
+ }
+-int  XWindowAttributes_border_width(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_border_width (XWindowAttributes *i)
+ {
+           return(i->border_width);
+ }
+-void set_XWindowAttributes_border_width(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_border_width (XWindowAttributes *i, int j)
+ {
+           i->border_width = j;
+ }
+-int  XWindowAttributes_height(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_height (XWindowAttributes *i)
+ {
+           return(i->height);
+ }
+-void set_XWindowAttributes_height(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_height (XWindowAttributes *i, int j)
+ {
+           i->height = j;
+ }
+-int  XWindowAttributes_width(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_width (XWindowAttributes *i)
+ {
+           return(i->width);
+ }
+-void set_XWindowAttributes_width(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_width (XWindowAttributes *i, int j)
+ {
+           i->width = j;
+ }
+-int  XWindowAttributes_y(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_y (XWindowAttributes *i)
+ {
+           return(i->y);
+ }
+-void set_XWindowAttributes_y(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_y (XWindowAttributes *i, int j)
+ {
+           i->y = j;
+ }
+-int  XWindowAttributes_x(i)
+-XWindowAttributes* i;
++int 
++XWindowAttributes_x (XWindowAttributes *i)
+ {
+           return(i->x);
+ }
+-void set_XWindowAttributes_x(i, j)
+-XWindowAttributes* i;
+-int j;
++void 
++set_XWindowAttributes_x (XWindowAttributes *i, int j)
+ {
+           i->x = j;
+ }
+@@ -1519,45 +1424,43 @@ int j;
+ /********* XHostAddress functions *****/
+-long  make_XHostAddress (){
++long 
++make_XHostAddress (void){
+           return ((long) calloc(1, sizeof(XHostAddress)));
+ }
+-long  XHostAddress_address(i)
+-XHostAddress* i;
++long 
++XHostAddress_address (XHostAddress *i)
+ {
+           return((long) i->address);
+ }
+-void set_XHostAddress_address(i, j)
+-XHostAddress* i;
+-long j;
++void 
++set_XHostAddress_address (XHostAddress *i, long j)
+ {
+           i->address = (char *) j;
+ }
+-int  XHostAddress_length(i)
+-XHostAddress* i;
++int 
++XHostAddress_length (XHostAddress *i)
+ {
+           return(i->length);
+ }
+-void set_XHostAddress_length(i, j)
+-XHostAddress* i;
+-int j;
++void 
++set_XHostAddress_length (XHostAddress *i, int j)
+ {
+           i->length = j;
+ }
+-int  XHostAddress_family(i)
+-XHostAddress* i;
++int 
++XHostAddress_family (XHostAddress *i)
+ {
+           return(i->family);
+ }
+-void set_XHostAddress_family(i, j)
+-XHostAddress* i;
+-int j;
++void 
++set_XHostAddress_family (XHostAddress *i, int j)
+ {
+           i->family = j;
+ }
+@@ -1565,214 +1468,199 @@ int j;
+ /********* XImage functions *****/
+-long  make_XImage (){
++long 
++make_XImage (void){
+           return ((long) calloc(1, sizeof(XImage)));
+ }
+-long  XImage_obdata(i)
+-XImage* i;
++long 
++XImage_obdata (XImage *i)
+ {
+           return((long) i->obdata);
+ }
+-void set_XImage_obdata(i, j)
+-XImage* i;
+-long j;
++void 
++set_XImage_obdata (XImage *i, long j)
+ {
+           i->obdata = (XPointer) j;
+ }
+-int  XImage_blue_mask(i)
+-XImage* i;
++int 
++XImage_blue_mask (XImage *i)
+ {
+           return(i->blue_mask);
+ }
+-void set_XImage_blue_mask(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_blue_mask (XImage *i, int j)
+ {
+           i->blue_mask = j;
+ }
+-int  XImage_green_mask(i)
+-XImage* i;
++int 
++XImage_green_mask (XImage *i)
+ {
+           return(i->green_mask);
+ }
+-void set_XImage_green_mask(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_green_mask (XImage *i, int j)
+ {
+           i->green_mask = j;
+ }
+-int  XImage_red_mask(i)
+-XImage* i;
++int 
++XImage_red_mask (XImage *i)
+ {
+           return(i->red_mask);
+ }
+-void set_XImage_red_mask(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_red_mask (XImage *i, int j)
+ {
+           i->red_mask = j;
+ }
+-int  XImage_bits_per_pixel(i)
+-XImage* i;
++int 
++XImage_bits_per_pixel (XImage *i)
+ {
+           return(i->bits_per_pixel);
+ }
+-void set_XImage_bits_per_pixel(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_bits_per_pixel (XImage *i, int j)
+ {
+           i->bits_per_pixel = j;
+ }
+-int  XImage_bytes_per_line(i)
+-XImage* i;
++int 
++XImage_bytes_per_line (XImage *i)
+ {
+           return(i->bytes_per_line);
+ }
+-void set_XImage_bytes_per_line(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_bytes_per_line (XImage *i, int j)
+ {
+           i->bytes_per_line = j;
+ }
+-int  XImage_depth(i)
+-XImage* i;
++int 
++XImage_depth (XImage *i)
+ {
+           return(i->depth);
+ }
+-void set_XImage_depth(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_depth (XImage *i, int j)
+ {
+           i->depth = j;
+ }
+-int  XImage_bitmap_pad(i)
+-XImage* i;
++int 
++XImage_bitmap_pad (XImage *i)
+ {
+           return(i->bitmap_pad);
+ }
+-void set_XImage_bitmap_pad(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_bitmap_pad (XImage *i, int j)
+ {
+           i->bitmap_pad = j;
+ }
+-int  XImage_bitmap_bit_order(i)
+-XImage* i;
++int 
++XImage_bitmap_bit_order (XImage *i)
+ {
+           return(i->bitmap_bit_order);
+ }
+-void set_XImage_bitmap_bit_order(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_bitmap_bit_order (XImage *i, int j)
+ {
+           i->bitmap_bit_order = j;
+ }
+-int  XImage_bitmap_unit(i)
+-XImage* i;
++int 
++XImage_bitmap_unit (XImage *i)
+ {
+           return(i->bitmap_unit);
+ }
+-void set_XImage_bitmap_unit(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_bitmap_unit (XImage *i, int j)
+ {
+           i->bitmap_unit = j;
+ }
+-int  XImage_byte_order(i)
+-XImage* i;
++int 
++XImage_byte_order (XImage *i)
+ {
+           return(i->byte_order);
+ }
+-void set_XImage_byte_order(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_byte_order (XImage *i, int j)
+ {
+           i->byte_order = j;
+ }
+-long  XImage_data(i)
+-XImage* i;
++long 
++XImage_data (XImage *i)
+ {
+           return((long) i->data);
+ }
+-void set_XImage_data(i, j)
+-XImage* i;
+-long j;
++void 
++set_XImage_data (XImage *i, long j)
+ {
+           i->data = (char *) j;
+ }
+-int  XImage_format(i)
+-XImage* i;
++int 
++XImage_format (XImage *i)
+ {
+           return(i->format);
+ }
+-void set_XImage_format(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_format (XImage *i, int j)
+ {
+           i->format = j;
+ }
+-int  XImage_xoffset(i)
+-XImage* i;
++int 
++XImage_xoffset (XImage *i)
+ {
+           return(i->xoffset);
+ }
+-void set_XImage_xoffset(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_xoffset (XImage *i, int j)
+ {
+           i->xoffset = j;
+ }
+-int  XImage_height(i)
+-XImage* i;
++int 
++XImage_height (XImage *i)
+ {
+           return(i->height);
+ }
+-void set_XImage_height(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_height (XImage *i, int j)
+ {
+           i->height = j;
+ }
+-int  XImage_width(i)
+-XImage* i;
++int 
++XImage_width (XImage *i)
+ {
+           return(i->width);
+ }
+-void set_XImage_width(i, j)
+-XImage* i;
+-int j;
++void 
++set_XImage_width (XImage *i, int j)
+ {
+           i->width = j;
+ }
+@@ -1780,97 +1668,91 @@ int j;
+ /********* XWindowChanges functions *****/
+-long  make_XWindowChanges (){
++long 
++make_XWindowChanges (void){
+           return ((long) calloc(1, sizeof(XWindowChanges)));
+ }
+-int  XWindowChanges_stack_mode(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_stack_mode (XWindowChanges *i)
+ {
+           return(i->stack_mode);
+ }
+-void set_XWindowChanges_stack_mode(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_stack_mode (XWindowChanges *i, int j)
+ {
+           i->stack_mode = j;
+ }
+-int  XWindowChanges_sibling(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_sibling (XWindowChanges *i)
+ {
+           return(i->sibling);
+ }
+-void set_XWindowChanges_sibling(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_sibling (XWindowChanges *i, int j)
+ {
+           i->sibling = j;
+ }
+-int  XWindowChanges_border_width(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_border_width (XWindowChanges *i)
+ {
+           return(i->border_width);
+ }
+-void set_XWindowChanges_border_width(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_border_width (XWindowChanges *i, int j)
+ {
+           i->border_width = j;
+ }
+-int  XWindowChanges_height(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_height (XWindowChanges *i)
+ {
+           return(i->height);
+ }
+-void set_XWindowChanges_height(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_height (XWindowChanges *i, int j)
+ {
+           i->height = j;
+ }
+-int  XWindowChanges_width(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_width (XWindowChanges *i)
+ {
+           return(i->width);
+ }
+-void set_XWindowChanges_width(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_width (XWindowChanges *i, int j)
+ {
+           i->width = j;
+ }
+-int  XWindowChanges_y(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_y (XWindowChanges *i)
+ {
+           return(i->y);
+ }
+-void set_XWindowChanges_y(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_y (XWindowChanges *i, int j)
+ {
+           i->y = j;
+ }
+-int  XWindowChanges_x(i)
+-XWindowChanges* i;
++int 
++XWindowChanges_x (XWindowChanges *i)
+ {
+           return(i->x);
+ }
+-void set_XWindowChanges_x(i, j)
+-XWindowChanges* i;
+-int j;
++void 
++set_XWindowChanges_x (XWindowChanges *i, int j)
+ {
+           i->x = j;
+ }
+@@ -1878,84 +1760,79 @@ int j;
+ /********* XColor functions *****/
+-long  make_XColor (){
++long 
++make_XColor (void){
+           return ((long) calloc(1, sizeof(XColor)));
+ }
+-char XColor_pad(i)
+-XColor* i;
++char 
++XColor_pad (XColor *i)
+ {
+           return(i->pad);
+ }
+-void set_XColor_pad(i, j)
+-XColor* i;
+-char j;
++void 
++set_XColor_pad (XColor *i, int j)
+ {
+           i->pad = j;
+ }
+-char XColor_flags(i)
+-XColor* i;
++char 
++XColor_flags (XColor *i)
+ {
+           return(i->flags);
+ }
+-void set_XColor_flags(i, j)
+-XColor* i;
+-char j;
++void 
++set_XColor_flags (XColor *i, int j)
+ {
+           i->flags = j;
+ }
+-int  XColor_blue(i)
+-XColor* i;
++int 
++XColor_blue (XColor *i)
+ {
+           return(i->blue);
+ }
+-void set_XColor_blue(i, j)
+-XColor* i;
+-int j;
++void 
++set_XColor_blue (XColor *i, int j)
+ {
+           i->blue = j;
+ }
+-int  XColor_green(i)
+-XColor* i;
++int 
++XColor_green (XColor *i)
+ {
+           return(i->green);
+ }
+-void set_XColor_green(i, j)
+-XColor* i;
+-int j;
++void 
++set_XColor_green (XColor *i, int j)
+ {
+           i->green = j;
+ }
+-int  XColor_red(i)
+-XColor* i;
++int 
++XColor_red (XColor *i)
+ {
+           return(i->red);
+ }
+-void set_XColor_red(i, j)
+-XColor* i;
+-int j;
++void 
++set_XColor_red (XColor *i, int j)
+ {
+           i->red = j;
+ }
+-int  XColor_pixel(i)
+-XColor* i;
++int 
++XColor_pixel (XColor *i)
+ {
+           return(i->pixel);
+ }
+-void set_XColor_pixel(i, j)
+-XColor* i;
+-int j;
++void 
++set_XColor_pixel (XColor *i, int j)
+ {
+           i->pixel = j;
+ }
+@@ -1963,58 +1840,55 @@ int j;
+ /********* XSegment functions *****/
+-long  make_XSegment (){
++long 
++make_XSegment (void){
+           return ((long) calloc(1, sizeof(XSegment)));
+ }
+-int  XSegment_y2(i)
+-XSegment* i;
++int 
++XSegment_y2 (XSegment *i)
+ {
+           return(i->y2);
+ }
+-void set_XSegment_y2(i, j)
+-XSegment* i;
+-int j;
++void 
++set_XSegment_y2 (XSegment *i, int j)
+ {
+           i->y2 = j;
+ }
+-int  XSegment_x2(i)
+-XSegment* i;
++int 
++XSegment_x2 (XSegment *i)
+ {
+           return(i->x2);
+ }
+-void set_XSegment_x2(i, j)
+-XSegment* i;
+-int j;
++void 
++set_XSegment_x2 (XSegment *i, int j)
+ {
+           i->x2 = j;
+ }
+-int  XSegment_y1(i)
+-XSegment* i;
++int 
++XSegment_y1 (XSegment *i)
+ {
+           return(i->y1);
+ }
+-void set_XSegment_y1(i, j)
+-XSegment* i;
+-int j;
++void 
++set_XSegment_y1 (XSegment *i, int j)
+ {
+           i->y1 = j;
+ }
+-int  XSegment_x1(i)
+-XSegment* i;
++int 
++XSegment_x1 (XSegment *i)
+ {
+           return(i->x1);
+ }
+-void set_XSegment_x1(i, j)
+-XSegment* i;
+-int j;
++void 
++set_XSegment_x1 (XSegment *i, int j)
+ {
+           i->x1 = j;
+ }
+@@ -2022,32 +1896,31 @@ int j;
+ /********* XPoint functions *****/
+-long  make_XPoint (){
++long 
++make_XPoint (void){
+           return ((long) calloc(1, sizeof(XPoint)));
+ }
+-int  XPoint_y(i)
+-XPoint* i;
++int 
++XPoint_y (XPoint *i)
+ {
+           return(i->y);
+ }
+-void set_XPoint_y(i, j)
+-XPoint* i;
+-int j;
++void 
++set_XPoint_y (XPoint *i, int j)
+ {
+           i->y = j;
+ }
+-int  XPoint_x(i)
+-XPoint* i;
++int 
++XPoint_x (XPoint *i)
+ {
+           return(i->x);
+ }
+-void set_XPoint_x(i, j)
+-XPoint* i;
+-int j;
++void 
++set_XPoint_x (XPoint *i, int j)
+ {
+           i->x = j;
+ }
+@@ -2055,58 +1928,55 @@ int j;
+ /********* XRectangle functions *****/
+-long  make_XRectangle (){
++long 
++make_XRectangle (void){
+           return ((long) calloc(1, sizeof(XRectangle)));
+ }
+-int  XRectangle_height(i)
+-XRectangle* i;
++int 
++XRectangle_height (XRectangle *i)
+ {
+           return(i->height);
+ }
+-void set_XRectangle_height(i, j)
+-XRectangle* i;
+-int j;
++void 
++set_XRectangle_height (XRectangle *i, int j)
+ {
+           i->height = j;
+ }
+-int  XRectangle_width(i)
+-XRectangle* i;
++int 
++XRectangle_width (XRectangle *i)
+ {
+           return(i->width);
+ }
+-void set_XRectangle_width(i, j)
+-XRectangle* i;
+-int j;
++void 
++set_XRectangle_width (XRectangle *i, int j)
+ {
+           i->width = j;
+ }
+-int  XRectangle_y(i)
+-XRectangle* i;
++int 
++XRectangle_y (XRectangle *i)
+ {
+           return(i->y);
+ }
+-void set_XRectangle_y(i, j)
+-XRectangle* i;
+-int j;
++void 
++set_XRectangle_y (XRectangle *i, int j)
+ {
+           i->y = j;
+ }
+-int  XRectangle_x(i)
+-XRectangle* i;
++int 
++XRectangle_x (XRectangle *i)
+ {
+           return(i->x);
+ }
+-void set_XRectangle_x(i, j)
+-XRectangle* i;
+-int j;
++void 
++set_XRectangle_x (XRectangle *i, int j)
+ {
+           i->x = j;
+ }
+@@ -2114,84 +1984,79 @@ int j;
+ /********* XArc functions *****/
+-long  make_XArc (){
++long 
++make_XArc (void){
+           return ((long) calloc(1, sizeof(XArc)));
+ }
+-int  XArc_angle2(i)
+-XArc* i;
++int 
++XArc_angle2 (XArc *i)
+ {
+           return(i->angle2);
+ }
+-void set_XArc_angle2(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_angle2 (XArc *i, int j)
+ {
+           i->angle2 = j;
+ }
+-int  XArc_angle1(i)
+-XArc* i;
++int 
++XArc_angle1 (XArc *i)
+ {
+           return(i->angle1);
+ }
+-void set_XArc_angle1(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_angle1 (XArc *i, int j)
+ {
+           i->angle1 = j;
+ }
+-int  XArc_height(i)
+-XArc* i;
++int 
++XArc_height (XArc *i)
+ {
+           return(i->height);
+ }
+-void set_XArc_height(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_height (XArc *i, int j)
+ {
+           i->height = j;
+ }
+-int  XArc_width(i)
+-XArc* i;
++int 
++XArc_width (XArc *i)
+ {
+           return(i->width);
+ }
+-void set_XArc_width(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_width (XArc *i, int j)
+ {
+           i->width = j;
+ }
+-int  XArc_y(i)
+-XArc* i;
++int 
++XArc_y (XArc *i)
+ {
+           return(i->y);
+ }
+-void set_XArc_y(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_y (XArc *i, int j)
+ {
+           i->y = j;
+ }
+-int  XArc_x(i)
+-XArc* i;
++int 
++XArc_x (XArc *i)
+ {
+           return(i->x);
+ }
+-void set_XArc_x(i, j)
+-XArc* i;
+-int j;
++void 
++set_XArc_x (XArc *i, int j)
+ {
+           i->x = j;
+ }
+@@ -2199,110 +2064,103 @@ int j;
+ /********* XKeyboardControl functions *****/
+-long  make_XKeyboardControl (){
++long 
++make_XKeyboardControl (void){
+           return ((long) calloc(1, sizeof(XKeyboardControl)));
+ }
+-int  XKeyboardControl_auto_repeat_mode(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_auto_repeat_mode (XKeyboardControl *i)
+ {
+           return(i->auto_repeat_mode);
+ }
+-void set_XKeyboardControl_auto_repeat_mode(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_auto_repeat_mode (XKeyboardControl *i, int j)
+ {
+           i->auto_repeat_mode = j;
+ }
+-int  XKeyboardControl_key(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_key (XKeyboardControl *i)
+ {
+           return(i->key);
+ }
+-void set_XKeyboardControl_key(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_key (XKeyboardControl *i, int j)
+ {
+           i->key = j;
+ }
+-int  XKeyboardControl_led_mode(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_led_mode (XKeyboardControl *i)
+ {
+           return(i->led_mode);
+ }
+-void set_XKeyboardControl_led_mode(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_led_mode (XKeyboardControl *i, int j)
+ {
+           i->led_mode = j;
+ }
+-int  XKeyboardControl_led(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_led (XKeyboardControl *i)
+ {
+           return(i->led);
+ }
+-void set_XKeyboardControl_led(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_led (XKeyboardControl *i, int j)
+ {
+           i->led = j;
+ }
+-int  XKeyboardControl_bell_duration(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_bell_duration (XKeyboardControl *i)
+ {
+           return(i->bell_duration);
+ }
+-void set_XKeyboardControl_bell_duration(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_bell_duration (XKeyboardControl *i, int j)
+ {
+           i->bell_duration = j;
+ }
+-int  XKeyboardControl_bell_pitch(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_bell_pitch (XKeyboardControl *i)
+ {
+           return(i->bell_pitch);
+ }
+-void set_XKeyboardControl_bell_pitch(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_bell_pitch (XKeyboardControl *i, int j)
+ {
+           i->bell_pitch = j;
+ }
+-int  XKeyboardControl_bell_percent(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_bell_percent (XKeyboardControl *i)
+ {
+           return(i->bell_percent);
+ }
+-void set_XKeyboardControl_bell_percent(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_bell_percent (XKeyboardControl *i, int j)
+ {
+           i->bell_percent = j;
+ }
+-int  XKeyboardControl_key_click_percent(i)
+-XKeyboardControl* i;
++int 
++XKeyboardControl_key_click_percent (XKeyboardControl *i)
+ {
+           return(i->key_click_percent);
+ }
+-void set_XKeyboardControl_key_click_percent(i, j)
+-XKeyboardControl* i;
+-int j;
++void 
++set_XKeyboardControl_key_click_percent (XKeyboardControl *i, int j)
+ {
+           i->key_click_percent = j;
+ }
+@@ -2310,97 +2168,91 @@ int j;
+ /********* XKeyboardState functions *****/
+-long  make_XKeyboardState (){
++long 
++make_XKeyboardState (void){
+           return ((long) calloc(1, sizeof(XKeyboardState)));
+ }
+-char *XKeyboardState_auto_repeats(i)
+-XKeyboardState* i;
++char *
++XKeyboardState_auto_repeats (XKeyboardState *i)
+ {
+           return(i->auto_repeats);
+ }
+-void set_XKeyboardState_auto_repeats(i, j)
+-XKeyboardState* i;
+-char  *j;
++void 
++set_XKeyboardState_auto_repeats (XKeyboardState *i, char *j)
+ {
+           strcpy(i->auto_repeats,  j);
+ }
+-int  XKeyboardState_global_auto_repeat(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_global_auto_repeat (XKeyboardState *i)
+ {
+           return(i->global_auto_repeat);
+ }
+-void set_XKeyboardState_global_auto_repeat(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_global_auto_repeat (XKeyboardState *i, int j)
+ {
+           i->global_auto_repeat = j;
+ }
+-int  XKeyboardState_led_mask(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_led_mask (XKeyboardState *i)
+ {
+           return(i->led_mask);
+ }
+-void set_XKeyboardState_led_mask(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_led_mask (XKeyboardState *i, int j)
+ {
+           i->led_mask = j;
+ }
+-int  XKeyboardState_bell_duration(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_bell_duration (XKeyboardState *i)
+ {
+           return(i->bell_duration);
+ }
+-void set_XKeyboardState_bell_duration(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_bell_duration (XKeyboardState *i, int j)
+ {
+           i->bell_duration = j;
+ }
+-int  XKeyboardState_bell_pitch(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_bell_pitch (XKeyboardState *i)
+ {
+           return(i->bell_pitch);
+ }
+-void set_XKeyboardState_bell_pitch(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_bell_pitch (XKeyboardState *i, int j)
+ {
+           i->bell_pitch = j;
+ }
+-int  XKeyboardState_bell_percent(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_bell_percent (XKeyboardState *i)
+ {
+           return(i->bell_percent);
+ }
+-void set_XKeyboardState_bell_percent(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_bell_percent (XKeyboardState *i, int j)
+ {
+           i->bell_percent = j;
+ }
+-int  XKeyboardState_key_click_percent(i)
+-XKeyboardState* i;
++int 
++XKeyboardState_key_click_percent (XKeyboardState *i)
+ {
+           return(i->key_click_percent);
+ }
+-void set_XKeyboardState_key_click_percent(i, j)
+-XKeyboardState* i;
+-int j;
++void 
++set_XKeyboardState_key_click_percent (XKeyboardState *i, int j)
+ {
+           i->key_click_percent = j;
+ }
+@@ -2408,45 +2260,43 @@ int j;
+ /********* XTimeCoord functions *****/
+-long  make_XTimeCoord (){
++long 
++make_XTimeCoord (void){
+           return ((long) calloc(1, sizeof(XTimeCoord)));
+ }
+-int  XTimeCoord_y(i)
+-XTimeCoord* i;
++int 
++XTimeCoord_y (XTimeCoord *i)
+ {
+           return(i->y);
+ }
+-void set_XTimeCoord_y(i, j)
+-XTimeCoord* i;
+-int j;
++void 
++set_XTimeCoord_y (XTimeCoord *i, int j)
+ {
+           i->y = j;
+ }
+-int  XTimeCoord_x(i)
+-XTimeCoord* i;
++int 
++XTimeCoord_x (XTimeCoord *i)
+ {
+           return(i->x);
+ }
+-void set_XTimeCoord_x(i, j)
+-XTimeCoord* i;
+-int j;
++void 
++set_XTimeCoord_x (XTimeCoord *i, int j)
+ {
+           i->x = j;
+ }
+-int  XTimeCoord_time(i)
+-XTimeCoord* i;
++int 
++XTimeCoord_time (XTimeCoord *i)
+ {
+           return(i->time);
+ }
+-void set_XTimeCoord_time(i, j)
+-XTimeCoord* i;
+-int j;
++void 
++set_XTimeCoord_time (XTimeCoord *i, int j)
+ {
+           i->time = j;
+ }
+@@ -2454,32 +2304,31 @@ int j;
+ /********* XModifierKeymap functions *****/
+-long  make_XModifierKeymap (){
++long 
++make_XModifierKeymap (void){
+           return ((long) calloc(1, sizeof(XModifierKeymap)));
+ }
+-long  XModifierKeymap_modifiermap(i)
+-XModifierKeymap* i;
++long 
++XModifierKeymap_modifiermap (XModifierKeymap *i)
+ {
+           return((long) i->modifiermap);
+ }
+-void set_XModifierKeymap_modifiermap(i, j)
+-XModifierKeymap* i;
+-long j;
++void 
++set_XModifierKeymap_modifiermap (XModifierKeymap *i, long j)
+ {
+           i->modifiermap = (KeyCode *) j;
+ }
+-int  XModifierKeymap_max_keypermod(i)
+-XModifierKeymap* i;
++int 
++XModifierKeymap_max_keypermod (XModifierKeymap *i)
+ {
+           return(i->max_keypermod);
+ }
+-void set_XModifierKeymap_max_keypermod(i, j)
+-XModifierKeymap* i;
+-int j;
++void 
++set_XModifierKeymap_max_keypermod (XModifierKeymap *i, int j)
+ {
+           i->max_keypermod = j;
+ }
+--- gcl27-2.7.1.orig/xgcl-2/Xutil-2.c
++++ gcl27-2.7.1/xgcl-2/Xutil-2.c
+@@ -25,31 +25,38 @@
+ #include <X11/Xresource.h>
+ #include <X11/keysym.h>
+-int IsKeypadKey(keysym) int keysym; { 
++int IsKeypadKey (int keysym) { 
+  return  (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal));}
+-int IsCursorKey(keysym) int keysym; { 
++int 
++IsCursorKey (int keysym)
++{ 
+   return (((unsigned)(keysym) >= XK_Home)     && ((unsigned)(keysym) <  XK_Select));}
+-int IsPFKey(keysym) int keysym; { 
++int 
++IsPFKey (int keysym) { 
+   return (((unsigned)(keysym) >= XK_KP_F1)     && ((unsigned)(keysym) <= XK_KP_F4));}
+-int IsFunctionKey(keysym) int keysym; { 
++int 
++IsFunctionKey (int keysym) { 
+   return (((unsigned)(keysym) >= XK_F1)       && ((unsigned)(keysym) <= XK_F35));}
+-int IsMiscFunctionKey(keysym) int keysym; { 
++int 
++IsMiscFunctionKey (int keysym) { 
+   return (((unsigned)(keysym) >= XK_Select)   && ((unsigned)(keysym) <  XK_KP_Space));}
+-int IsModifierKey(keysym) int keysym; { 
++int 
++IsModifierKey (int keysym) { 
+   return (((unsigned)(keysym) >= XK_Shift_L)  && ((unsigned)(keysym) <= XK_Hyper_R));}
+-int XUniqueContext() 
++int 
++XUniqueContext (void) 
+ {
+               return( ((int)XrmUniqueQuark()) );
+ }
+-int XStringToContext(string) 
+-      char *string; 
++int 
++XStringToContext (char *string) 
+ {
+       return( (int)XrmStringToQuark(string) );
+ }
diff --git a/patches/Version_2_7_2pre9 b/patches/Version_2_7_2pre9
new file mode 100644 (file)
index 0000000..7784916
--- /dev/null
@@ -0,0 +1,49 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 19 2026 22:24:25 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -459,6 +459,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++      chmod +x bin/c23.awk
+       $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -4907,6 +4907,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+               $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++      chmod +x bin/c23.awk
+       $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre8"
++"Version_2_7_2pre9"
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..97d8d11
--- /dev/null
@@ -0,0 +1,10 @@
+Version_2_7_2pre1
+Version_2_7_2pre2
+Version_2_7_2ore3
+Version_2_7_2pre5
+Version_2_7_2pre6
+Version_2_7_2pre7
+Version_2_7_2pre8
+Version_2_7_2pre9
+Version_2_7_2pre10
+Version_2_7_2pre11
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..cc632a9
--- /dev/null
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] gcl27.templates
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..7c78e1a
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,77 @@
+# Catalan translation of gcl27's debconf messages
+# Copyright © 2025 poc senderi <pocsenderi@protonmail.com>
+# This file is distributed under the same license as the gcl27 package.
+# poc senderi <pocsenderi@protonmail.com>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-05-03 13:26+0000\n"
+"PO-Revision-Date: 2025-10-19 12:10+0200\n"
+"Last-Translator: poc senderi <pocsenderi@protonmail.com>\n"
+"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"Voleu usar de manera predeterminada la versió, que encara s'hi està "
+"treballant, ANSI?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"El GCL es troba en procés d'oferir una imatge conforme a ANSI a més a més de "
+"la imatge tradicional CLtL1 que encara es troba en producció. Mireu el "
+"fitxer README.Debian per una breu descripció sobre aquests termes. Establir "
+"aquesta variable determinarà quina imatge s'usarà per defecte quan s'executi "
+"«gcl27». Podeu canviar localment aquesta decisió establint la variable "
+"d'entorn GCL_ANSI a qualsevol cosa tret de «no» per a la versió ANSI, i a "
+"«no» per a la versió CLtL1, per exemple «GCL_ANSI=t gcl27». La versió activa "
+"es mostrarà al bàner inicial durant l'engegada."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Voleu usar per defecte la versió de perfilació?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"El GCL ara disposa de compatibilitat opcional per a la perfilació usant el "
+"«gprof». Per als detalls, vegeu la documentació de «si::gprof-start» i «si::"
+"gprof-quit». Atès que aquesta versió és més lenta que d'altres sense "
+"compatibilitat amb el «gprof», no es recomana per a l'ús en producció. Podeu "
+"canviar localment la decisió predeterminada feta aquí establint la variable "
+"d'entorn GCL_PROF a qualsevol cosa tret d'una cadena buida per a la "
+"compatibilitat amb perfilació, i a una cadena buida per a les versions més "
+"optimitzades, per exemple «GCL_PROF=t gcl27». Si la perfilació està "
+"activada, això es mostrarà al bàner inicial durant l'engegada."
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..15a9685
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,149 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-24 13:21+0100\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Používat implicitně ANSI verzi (stále ve vývoji)?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Používat implicitně profilování?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL se nachází ve fázi, kdy kromě tradičního obrazu CLtL1 (který se stále "
+#~ "používá) poskytuje i obraz kompatibilní s ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Pro stručný popis těchto termínů si prosím přečtěte soubor README.Debian. "
+#~ "Touto odpovědí určujete, který obraz se spustí po zadání „gcl@EXT@“. "
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_ANSI na "
+#~ "neprázdný řetězec (použije ANSI verzi) nebo na prázdnou hodnotu (použije "
+#~ "CLtL1 verzi). Například GCL_ANSI=t gcl@EXT@. Aktuálně použitá verze se "
+#~ "zobrazí na úvodní obrazovce."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL nyní podporuje profilování přes gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Podrobnosti naleznete v dokumentaci si::gprof-start a si::gprof-quit. "
+#~ "Tato verze je pomalejší než verze bez podpory gprof, tudíž ji "
+#~ "nedoporučujeme pro koncové produkční nasazení."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_PROF na "
+#~ "neprázdný řetězec (zapne profilování) nebo na prázdnou hodnotu (povolí "
+#~ "lepší optimalizace). Například GCL_PROF=t gcl@EXT@. Pokud je profilování "
+#~ "zapnuto, dozvíte se o tom z úvodní obrazovky."
+
+#~ msgid ""
+#~ "GCL is one of the oldest free common lisp systems still in use. Several "
+#~ "production systems have used it for over a decade.  The common lisp "
+#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
+#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
+#~ "this specification.  Subsequently, a much expanded standard was adopted "
+#~ "by the American National Standards Institute (ANSI), which is still "
+#~ "considered the definitive common lisp language specification to this "
+#~ "day.  GCL is in the process of providing an ANSI compliant image in "
+#~ "addition to its traditional CLtL1 image still in production use.  Setting "
+#~ "this variable will determine which image you will use by default on "
+#~ "executing 'gcl'.  You can locally override this choice by setting the "
+#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
+#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl.  You "
+#~ "may be interested in reviewing the ANSI test results sketching the level "
+#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz.  "
+#~ "The flavor of the build in force will be reported in the initial startup "
+#~ "banner."
+#~ msgstr ""
+#~ "GCL je jedním z nejstarších svobodných systémů common lispu, který se "
+#~ "dosud používá. Několik produkčních systémů jej používá déle než dekádu. "
+#~ "Při prvním vydání GCL byl v platnosti standard common lispu známý jako "
+#~ "\"Common Lisp, the Language\" (CLtL1) pojmenovaný podle Steelovy knihy "
+#~ "stejného jména, která tento standard definovala. Americkým národním "
+#~ "institutem pro standardizaci (ANSI) pak byl přijat podstatně rozšířený "
+#~ "standard, který se do dnešní doby považuje za konečnou specifikaci common "
+#~ "lispu. Kromě tradičního CLtL1 se GCL snaží nabídnout i verzi odpovídající "
+#~ "ANSI standardu. Nastavením této proměnné určíte, jakým způsobem se má "
+#~ "binárka 'gcl' chovat. Lokálně můžete toto nastavení přepsat nastavením "
+#~ "proměnné prostředí GCL_ANSI na neprázdný řetězec (zapne ANSI chování) "
+#~ "nebo na prázdnou hodnotu (zapne CLtL1 chování). Například GCL_ANSI-t gcl. "
+#~ "Aktuálně vybraný standard bude zobrazen v úvodní obrazovce prostředí. "
+#~ "Zajímavé může být porovnání dosud dosažené shody s ANSI standardem v "
+#~ "souboru /usr/share/doc/gcl/test_results.gz."
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..30cc0ad
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,109 @@
+# Danish translation gcl.
+# Copyright (C) 2012 gcl & nedenstående oversættere.
+# This file is distributed under the same license as the gcl package.
+# Joe Hansen (joedalton2@yahoo.dk), 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2012-03-31 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Brug den foreløbige ANSI bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Brug profileringen bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL er i gang med at tilbyde et ANSI-overholdende aftryk udover det "
+#~ "traditionelle CLtL1-aftryk som stadig er i produktionsbrug."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Se venligst filen README.Debian for en kort beskrivelse af disse termer. "
+#~ "Valg af denne indstilling vil bestemme hvilket aftryk som vil blive brugt "
+#~ "som standard, når der køres »gcl@EXT@«."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Denne indstilling kan overskrives ved at angive miljøvariablen GCL_ANSI "
+#~ "til enhver streng der ikke er tom for ANSI-bygningen, og til den tomme "
+#~ "streng for CLtL1-bygningen, f.eks. GCL_ANSI=t gcl@EXT@. Den aktuelt "
+#~ "tvungne byggevariant vil blive rapporteret i det oprindelige "
+#~ "opstartsbanner."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL har valgfri understøttelse for profilering via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Se venligst dokumentationen for si::gprof-start og si::gprof-quit for "
+#~ "detaljer. Da denne bygning er langsommere end bygninger uden gprof-"
+#~ "understøttelse, så anbefales den ikke for endelig produktionsbrug."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Angiv miljøvariablen GCL_PROF til den tomme streng for bedre optimerede "
+#~ "bygninger, eller enhver streng der ikke er tom for "
+#~ "profileringsunderstøttelse; f.eks. GCL_PROF=t gcl@EXT@. Hvis profilering "
+#~ "er aktiveret, vil denne blive rapporteret i det oprindelige "
+#~ "opstartsbanner."
diff --git a/po/de.po b/po/de.po
new file mode 100644 (file)
index 0000000..1a15c03
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,126 @@
+# Translation of gcl debconf templates to German
+# Copyright (C) Stefan Bauer <stefan.bauer@edv-fix.de>, 2007.
+# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2007, 2008, 2025.
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-07 19:26+0200\n"
+"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
+"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Standardmäßig den sich in Arbeit befindenden ANSI-Build verwenden?"
+
+# FIXME »no« both for the ANSI-Build and for the CLtL1 build? Sentence also strange
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL arbeitet neben dem traditionellen CLtL1-Abbild für den Produktiveinsatz "
+"zusätzlich an der Bereitstellung eines kompatiblen ANSI-Abbildes. Bitte "
+"beachten Sie die README.Debian-Datei für eine kurze Beschreibung dieses "
+"Themas. Durch diese Variable definieren Sie, welches Abbild voreingestellt "
+"bei der Ausführung von gcl27 verwendet wird. Diese Auswahl kann lokal durch "
+"jede Zeichenkette außer »no« für den ANSI-Bau und »no« für den CLtL1-Bau "
+"außer Kraft gesetzt werden, z.B. GCL_ANSI=t gcl27. Die Variante des "
+"geltenden Baus wird im einführenden Start-Banner berichtet."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Standardmäßig den Profiling-Build verwenden?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL besitzt optionale Unterstützung für Profiling mit Gprof. Bitte lesen Sie "
+"hierzu die Dokumentation von si::gprof-start und si::gprof-quit für "
+"weiterführende Informationen. Da dieser Bau langsamer ist als ohne Gprof-"
+"Unterstützung, wird dieser Weg nicht für den endgültigen produktiven Einsatz "
+"empfohlen. Sie können die hier gemachten Angaben lokal über die GCL_PROF-"
+"Umgebungsvariable durch einen beliebigen Wert ersetzen, bzw. durch einen "
+"leeren Wert für den weitaus anpassungsfähigeren Bau, z.B. GCL_PROF=t gcl27. "
+"Falls Profiling aktiviert ist, erfolgt eine Meldung im einführenden Start-"
+"Banner."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL ist derzeit dabei, zusätzlich zu dem noch im Einsatz befindlichen "
+#~ "traditionellen CLtL1-Abbild ein ANSI-konformes Abbild bereitzustellen."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Bitte lesen Sie die Datei README.Debian fr eine kurze Beschreibung dieser "
+#~ "Begriffe. Die Wahl dieser Option bestimmen, welches Image standardmig "
+#~ "verwendet wird, wenn gcl@EXT@ ausgefhrt wird."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Diese Einstellung kann mit der Umgebungsvariablen GCL_ANSI berschrieben "
+#~ "werden. Jede nicht-leere Zeichenkette führt zur ANSI-Erstellung, und die "
+#~ "leere Zeichenkette fhrt zum CLtL1-Bau, z.B. GCL_ANSI=t gcl@EXT@. In der "
+#~ "Startmeldung wird die derzeit erzwungene Bauart berichtet."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL besitzt optionale Untersttzung fr Profiling mittels Gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Bitte lesen Sie die Dokumentation für si::gprof-start und si::gprof-quit "
+#~ "fr Details. Da ein solches Programm langsamer ist als ein Programm ohne "
+#~ "Gprof-Untersttzung, wird dies fr den Produktiveinsatz nicht empfohlen."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Setzen Sie die Umgebungsvariable GCL_PROF auf die leere Zeichenkette, um "
+#~ "ein optimiertes Programm zu erhalten oder auf irgendeine nicht-leere "
+#~ "Zeichenkette, für Profiling-Untersttzung; z.B. GCL_PROF=t gcl@EXT@. Falls "
+#~ "Profiling aktiviert ist, wird dies in der Startmeldung angezeigt."
diff --git a/po/es.po b/po/es.po
new file mode 100644 (file)
index 0000000..bc4f918
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,197 @@
+# gcl po-debconf translation to Spanish
+# Copyright (C) 2005, 2007, 2008 Software in the Public Interest
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+# Changes:
+#   - Initial translation
+#       César Gómez Martín <cesar.gomez@gmail.com>, 2005
+#
+#   - Updates
+#       Rudy Godoy Guillén <rudyd@stone-head.org>, 2007
+#       Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2008
+#
+# Traductores, si no conoce el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+#
+#   info -n '(gettext)PO Files'
+#   info -n '(gettext)Header Entry'
+#
+# Equipo de traducción al español, por favor, lean antes de traducir
+# los siguientes documentos:
+#
+#   - El proyecto de traducción de Debian al español
+#     http://www.debian.org/intl/spanish/
+#     especialmente las notas de traducción en
+#     http://www.debian.org/intl/spanish/notas
+#
+#   - La guía de traducción de po's de debconf:
+#     /usr/share/doc/po-debconf/README-trans
+#     o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-7\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: 2025-06-20 16:42+0200\n"
+"Last-Translator: Camaleón <noelamac@gmail.com>\n"
+"Language-Team: Debian l10n spanish <debian-l10n-spanish@lists.debian.org>\n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"¿Quiere utilizar la generación ANSI todavía en desarrollo de manera "
+"predeterminada?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the "
+"README.Debian file for a brief description of these terms.  Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+"GCL está en proceso de incorporar una imagen compatible con ANSI además de "
+"la imagen CLtL1 tradicional que todavía se usa en producción. Consulte el "
+"archivo README de Debian para una breve descripción acerca de estos "
+"términos. El ajuste de esta variable determinará qué imagen se utilizará de "
+"manera predeterminada cuando ejecute «gcl27». Puede anular esta elección "
+"localmente definiendo la variable de entorno GCL_ANSI a cualquier cadena de "
+"caracteres excepto «no» para la compilación ANSI, y establecerla a «no» para "
+"la compilación CLtL1, p. ej. GCL_ANSI=t gcl27. La versión de la compilación "
+"se indicará en el anuncio inicial de arranque."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "¿Quiere utilizar la generación con perfilado de manera predeterminada?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
+"GCL ahora dispone de soporte opcional para perfilado a través de gprof. "
+"Consulte la documentación de «si::gprof-start» y de «si::gprof-quit» y "
+"«si::gprof-quit» para más detalles. Dado que esta compilación es más lenta "
+"que otras sin soporte para gprof, no se recomienda usarlo en producción. "
+"Puede anular esta elección de forma local definiendo la variable de entorno "
+"GCL_PROF a cualquier cadena de caracteres no vacía para activar el soporte "
+"de perfilado y a una cadena de caracteres vacía para generar paquetes más "
+"optimizados, p. ej., GCL_PROF=t gcl27. Si el perfilado está activo, se "
+"indicará en el anuncio inicial de arranque."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GL está en el proceso de proporcionar una imagen ANSI, además de su "
+#~ "imagen CLtL1 tradicional que todavía se usa."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor, véase el archivo README.Debian para una descripción corta de "
+#~ "estos términos. Eligiendo esta opción determinará que imagen se usará de "
+#~ "manera predeterminada al ejecutar «gcl@EXT@»."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Esta configuración se puede sobrescribir cambiando la variable de entorno "
+#~ "GCL_ANSI a cualquier cadena de caracteres no vacía para la generación "
+#~ "ANSI, y a una cadena de caracteres vacía para la generación CLtL1, por "
+#~ "ejemplo: «GCL_ANSI=t gcl@EXT@». El actual tipo de generación se mostrará "
+#~ "en la información inicial del arranque."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL permite usar «profiling», de manera opcional, mediante gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor, véase la documentación para los detalles de «si::gprof-start» "
+#~ "y «si::gprof-quit». Ya que esta generación es más lenta que sin el uso de "
+#~ "gprof, no se recomienda para su uso final."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Cambie el valor de la variable de entorno GCL_PROF a una cadena de "
+#~ "caracteres vacía para generación más optimizadas, o a una cadena de "
+#~ "caracteres no vacía para usar el «profiling», por ejemplo: «GCL_PROF=t "
+#~ "gcl@EXT@». Si el «profiling» está activado, se mostrará en la información "
+#~ "inicial del arranque."
+
+#~ msgid ""
+#~ "GCL is one of the oldest free common lisp systems still in use. Several "
+#~ "production systems have used it for over a decade.  The common lisp "
+#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
+#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
+#~ "this specification.  Subsequently, a much expanded standard was adopted "
+#~ "by the American National Standards Institute (ANSI), which is still "
+#~ "considered the definitive common lisp language specification to this "
+#~ "day.  GCL is in the process of providing an ANSI compliant image in "
+#~ "addition to its traditional CLtL1 image still in production use.  Setting "
+#~ "this variable will determine which image you will use by default on "
+#~ "executing 'gcl'.  You can locally override this choice by setting the "
+#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
+#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl.  You "
+#~ "may be interested in reviewing the ANSI test results sketching the level "
+#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz.  "
+#~ "The flavor of the build in force will be reported in the initial startup "
+#~ "banner."
+#~ msgstr ""
+#~ "GCL es uno de los sistemas libres de «common lisp» más antiguos que "
+#~ "todavía se usan. Varios sistemas en producción han estado usándolo "
+#~ "durante más de una década. Cuando GCL se liberó por primera vez, el "
+#~ "estándar «common lisp» se conocía como «Common Lisp, the Language» "
+#~ "(CLtL1) después de un libro escrito por Steele que llevaba el mismo "
+#~ "nombre y que proporcionaba esta especificación. Posteriormente se adoptó "
+#~ "en el Instituto Nacional de Estándares Americano (ANSI) un estándar más "
+#~ "extendido, que todavía se considera la especificación definitiva del "
+#~ "lenguaje «common lisp» hasta hoy. GCL está en el proceso de proporcionar "
+#~ "una imagen conforme a ANSI además de su imagen CltL1 tradicional que "
+#~ "todavía se usa en producción. Al establecer esta variable se determinará "
+#~ "la imagen por omisión que usará al ejecutar «gcl». Puede anular esta "
+#~ "elección de forma local mediante el establecimiento de la variable de "
+#~ "entorno GCL_ANSI a cualquier cadena no vacía para el paquete ANSI, y a la "
+#~ "cadena vacía para el paquete CLtL1, i.e. GCL_ANSI=t gcl. Quizás esté "
+#~ "interesado en revisar los resultados de las pruebas ANSI describiendo el "
+#~ "nivel de conformidad logrado hasta ahora en /usr/share/doc/gcl/"
+#~ "test_results.gz. Se informará del tipo de paquete usado en el anuncio "
+#~ "inicial de arranque."
diff --git a/po/fi.po b/po/fi.po
new file mode 100644 (file)
index 0000000..4eac1a7
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,105 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-29 23:28+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: Finland\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Käytetäänkö kehitettävää ANSI-käännöstä oletuksena?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Käytetäänkö profilointia oletuksena?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL:n on tarkoitus tarjota ANSI-yhteensopiva kuva perinteisen, vielä "
+#~ "tuotantokäytössä olevan CLtL1-kuvan lisäksi."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Tiedostosta README.Debian löytyy (englanniksi) näiden termien lyhyet "
+#~ "kuvaukset. Tämä valinta vaikuttaa siihen mitä kuvaa käytetään oletuksena "
+#~ "ajettaessa ”gcl@EXT@”."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Tämä asetus voidaan ohittaa asettamalla GCL_ANSI-ympäristömuuttuja. Jos "
+#~ "muuttujan arvo on mikä tahansa ei-tyhjä merkkijono, käytetään ANSI-"
+#~ "käännöstä, ja jos muuttujan arvo on tyhjä merkkijono, käytetään CLtL1-"
+#~ "käännöstä. Esimerkiksi: GCL_ANSI=t gcl@EXT@. Käytetty pakotettu "
+#~ "käännöstapa raportoidaan käynnistysruudussa."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL tukee valinnaisesti profilointia gprofin avulla."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Katso yksityiskohdat (englanniksi) dokumentaatiosta kohdista si::gprof-"
+#~ "start ja si::gprof-quit. Koska tämä käännös on hitaampi kuin käännökset "
+#~ "ilman gprof-tukea, tätä ei suositella tuotantokäyttöön."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Aseta GCL_PROF-ympäristömuuttuja tyhjäksi merkkijonoksi käyttääksesi "
+#~ "optimoidumpia käännöksiä ja miksi tahansa ei-tyhjäksi merkkijonoksi "
+#~ "käyttääksesi profilointia. Esimerkiksi: GCL_PROF=t gcl@EXT@. Jos "
+#~ "profilointi on aktivoituna, se raportoidaan käynnistysruudussa."
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..b6f8b1e
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,148 @@
+# Translation of gcl debconf templates to French
+# Copyright (C) 2007 Sylvain Archenault <sylvain.archenault@laposte.net>
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the iodine package.
+#
+# Sylvain Archenault <sylvain.archenault@laposte.net>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.6.7-1\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-23 13:03+0100\n"
+"Last-Translator: Sylvain Archenault <sylvain.archenault@laposte.net>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Faut-il utiliser la compilation ANSI par dfaut?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+#, fuzzy
+#| msgid ""
+#| "GCL is in the process of providing an ANSI compliant image in addition to "
+#| "its traditional CLtL1 image still in production use.  Please see the "
+#| "README.Debian file for a brief description of these terms.  Setting this "
+#| "variable will determine which image you will use by default on executing "
+#| "'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI "
+#| "environment variable to any non-empty string for the ANSI build, and to "
+#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The "
+#| "flavor of the build in force will be reported in the initial startup "
+#| "banner."
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL a pour but de fournir une image conforme  la dfinition de l'ANSI en plus "
+"de son image traditionnelle CLtL1 qui est toujours utilise en production. "
+"Veuillez consulter le fichier README.Debian pour plus d'informations sur ces "
+"normes. Ce choix dterminera quelle norme vous allez utiliser par dfaut lors "
+"de l'excution de gcl@EXT@. Vous pouvez localement modifier ce choix en "
+"affectant une chane non vide  la variable d'environnement GCL_ANSI pour une "
+"compilation respectant la norme dfinie par l'ANSI, et une chane vide pour "
+"une compilation en accord avec la norme CLtL1, par exemple GCL_ANSI=t "
+"gcl@EXT@. Le type de compilation sera affich dans le bandeau de dmarrage."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Faut-il utiliser le profilage par dfaut?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+#, fuzzy
+#| msgid ""
+#| "GCL now has optional support for profiling via gprof.  Please see the "
+#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
+#| "build is slower than builds without gprof support, it is not recommended "
+#| "for final production use. You can locally override the default choice "
+#| "made here by setting the GCL_PROF environment variable to any non-empty "
+#| "string for profiling support, and to the empty string for the more "
+#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@.  If profiling is enabled, "
+#| "this will be reported in the initial startup banner."
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL gre dsormais le profilage via gprof. Veuillez consulter la documentation "
+"de si::gprof-start et de si::gprof-quit pour plus d'informations. La "
+"construction produite avec cette option est plus lente que la construction "
+"classique. Par consquent il n'est pas recommand de l'utiliser en production. "
+"Vous pouvez localement modifier ce choix en affectant  la variable "
+"d'environnement GCL_PROF, une chane non vide pour activer le profilage, ou "
+"une chane vide pour une compilation optimise, par exemple GCL_PROF=t "
+"gcl@EXT@. Si le profilage est activ, cela sera affich dans le bandeau de "
+"dmarrage."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL est en passe de fournir une image respectant la norme ANSI en plus de "
+#~ "l'image traditionnelle CLtL1, toujours utilise en production."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Veuillez lire le fichier README.Debian pour une brve description de ces "
+#~ "termes. Le choix de cette option dterminera quelle image sera utilise par "
+#~ "dfaut en excutant gcl@EXT@."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Ce rglage peut tre chang en affectant  la variable d'environnement "
+#~ "GCL_ANSI une chane non vide pour la compilation ANSI, et une chane vide "
+#~ "pour la compilation CLtL1, par exemple GCL_ANSI=t gcl@EXT@. Le type de "
+#~ "compilation sera affich dans le bandeau de dmarrage."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL permet optionnellement la gestion du profilage via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Veuillez vous reporter  la documentation de si::gprof-start et si::gprof-"
+#~ "quit pour plus de dtails. Comme cet excutable est plus lent que les "
+#~ "excutables sans la gestion de gprof, il n'est pas recommand de l'utiliser "
+#~ "en production."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Veuillez affecter une chane vide  la variable d'environnement GCL_PROF "
+#~ "pour des compilations optimises, ou une chane non vide pour avoir la "
+#~ "gestion du profilage; par exemple GCL_PROF=t gcl@EXT@. Si le profilage "
+#~ "est activ, cela sera affich dans le bandeau de dmarrage."
diff --git a/po/gl.po b/po/gl.po
new file mode 100644 (file)
index 0000000..afcf35c
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,147 @@
+# Galician translation of gclcvs's debconf templates
+# This file is distributed under the same license as the gclcvs package.
+# Jacobo Tarrio <jtarrio@debian.org>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gclcvs\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-01 13:38+0000\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "¿Empregar por defecto a versión ANSI que se está a facer?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+#, fuzzy
+#| msgid ""
+#| "GCL is in the process of providing an ANSI compliant image in addition to "
+#| "its traditional CLtL1 image still in production use.  Please see the "
+#| "README.Debian file for a brief description of these terms.  Setting this "
+#| "variable will determine which image you will use by default on executing "
+#| "'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI "
+#| "environment variable to any non-empty string for the ANSI build, and to "
+#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The "
+#| "flavor of the build in force will be reported in the initial startup "
+#| "banner."
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
+"CLtL1 que aínda se emprega en produción. Consulte o ficheiro README.Debian "
+"para ver unha descrición breve deses termos. Ao estabrecer esa variable ha "
+"determinar a imaxe que ha empregar por defecto ao executar \"gcl@EXT@\". "
+"Pode empregar a outra imaxe estabrecendo a variable de ambiente GCL_ANSI a "
+"calquera cadea non baleira para empregar a versión ANSI, e á cadea baleira "
+"para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. Hase "
+"informar da versión en uso no cartel que aparece ao iniciar o programa."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "¿Empregar por defecto a versión con cronometrado?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+#, fuzzy
+#| msgid ""
+#| "GCL now has optional support for profiling via gprof.  Please see the "
+#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
+#| "build is slower than builds without gprof support, it is not recommended "
+#| "for final production use. You can locally override the default choice "
+#| "made here by setting the GCL_PROF environment variable to any non-empty "
+#| "string for profiling support, and to the empty string for the more "
+#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@.  If profiling is enabled, "
+#| "this will be reported in the initial startup banner."
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL agora ten soporte opcional de cronometrado mediante gprof. Consulte a "
+"documentación de si::gprof-start e si::gprof-quit para máis detalles. Xa que "
+"esta versión é máis lenta que as que non teñen soporte de gprof, non se "
+"recomenda que a empregue para o uso en produción. Pode empregar unha versión "
+"distinta á seleccionada estabrecendo a variable de ambiente GCL_PROF a "
+"calquera cadea non baleira para empregar o soporte de cronometrado, ou á "
+"cadea baleira para as versións máis optimizadas; por exemplo, GCL_PROF=t "
+"gcl@EXT@. Se está activado o cronometrado, hase informar diso no cartel que "
+"aparece ao iniciar o programa."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
+#~ "CLtL1 que aínda se emprega en produción."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Consulte o ficheiro README.Debian para ver unha descrición breve deses "
+#~ "termos. Ao establecer esa variable ha determinar a imaxe que ha empregar "
+#~ "por defecto ao executar \"gcl@EXT@\"."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Pode empregar a outra imaxe establecendo a variable de ambiente GCL_ANSI "
+#~ "a calquera cadea non baleira para empregar a versión ANSI, e á cadea "
+#~ "baleira para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. "
+#~ "Hase informar da versión en uso no cartel que aparece ao iniciar o "
+#~ "programa."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL agora ten soporte opcional de cronometrado mediante gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Consulte a documentación de si::gprof-start e si::gprof-quit para máis "
+#~ "detalles. Xa que esta versión é máis lenta que as que non teñen soporte "
+#~ "de gprof, non se recomenda que a empregue para o uso en produción."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Pode empregar unha versión distinta á seleccionada establecendo a "
+#~ "variable de ambiente GCL_PROF a calquera cadea non baleira para empregar "
+#~ "o soporte de cronometrado, ou á cadea baleira para as versións máis "
+#~ "optimizadas; por exemplo, GCL_PROF=t gcl@EXT@. Se está activado o "
+#~ "cronometrado, hase informar diso no cartel que aparece ao iniciar o "
+#~ "programa."
diff --git a/po/in.POTFILES.in b/po/in.POTFILES.in
new file mode 100644 (file)
index 0000000..f8a5ae1
--- /dev/null
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] gcl@EXT@.templates
diff --git a/po/it.po b/po/it.po
new file mode 100644 (file)
index 0000000..0f99efa
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,112 @@
+# ITALIAN TRANSLATION OF GCL'S PO-DEBCONF FILE.
+# COPYRIGHT (C) 2009 THE GCL'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+#
+# Vincenzo Campanella <vinz65@gmail.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2009-11-29 08:39+0100\n"
+"Last-Translator: Vincenzo Campanella <vinz65@gmail.com>\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"Usare in modo predefinito la compilazione ANSI, che è in fase di "
+"approntamento?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usare il profiling in modo predefinito?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Accanto all'immagine tradizionale CLtL1, in uso in realtà produttive, GCL "
+#~ "sta preparando un'immagine conforme ad ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Per maggiori informazioni consultare il file «README.Debian». La scelta "
+#~ "di questa opzione determinerà quale immagine verrà utilizzata in modo "
+#~ "predefinito durante l'esecuzione di «gcl@EXT@»."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Questa impostazione può essere sovrascritta impostando la variabile "
+#~ "d'ambiente «GCL_ANSI» con una stringa non vuota per la compilazione ANSI "
+#~ "e con una stringa vuota per la compilazione CLtL1, per esempio: "
+#~ "«GCL_ANSI=t gcl@EXT@». Il tipo di compilazione attualmente in uso viene "
+#~ "mostrato nella schermata di avvio."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL possiede un supporto opzionale per il profiling tramite gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Per maggiori dettagli consultare la documentazione per «si::gprof-start» "
+#~ "e «si::gprof-quit». Poiché questa compilazione è più lenta, rispetto a "
+#~ "quella senza supporto per gprof, non è raccomandata per un utilizzo in "
+#~ "realtà produttive."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Per compilazioni ottimizzate impostare la variabile d'ambiente «GCL_PROF» "
+#~ "a una stringa vuota, oppure per impostare il supporto al profiling "
+#~ "impostarla a una stringa non vuota, per esempio «GCL_PROF=t gcl@EXT@». La "
+#~ "schermata d'avvio indicherà se il profiling è abilitato."
diff --git a/po/ja.po b/po/ja.po
new file mode 100644 (file)
index 0000000..5834194
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,107 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+# victory <victory.deb@gmail.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2013-07-27 23:28+0900\n"
+"Last-Translator: victory <victory.deb@gmail.com>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "未完成の ANSI ビルドをデフォルトで使用しますか?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "デフォルトで profiling ビルドを使いますか?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL は未だに生産利用されている従来の CLtL1 イメージに加えて ANSI 準拠のイ"
+#~ "メージを提供する過程にあります。"
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "用語については README.Debian ファイルに簡単な説明があります。このオプショ"
+#~ "ンの選択「gcl@EXT@」を実行するときにどのイメージをデフォルトで利用するのか"
+#~ "決定することになります。"
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "この設定は、GCL_ANSI 環境変数に ANSI ビルドでは空白ではない任意の文字列、"
+#~ "CLtL1 ビルドでは空白文字列をセットすることで上書きできます。例えば "
+#~ "GCL_ANSI=t gcl@EXT@。現在実行しているビルドの種類は初期の開始時バナーで報"
+#~ "告されます。"
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL にはオプションで gprof 経由の profiling サポートがあります。"
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "詳細については si::gprof-start や si::gprof-quit の文書を見てください。こ"
+#~ "のビルドは gprof サポートのないビルドより遅いため、最終的な生産利用にはお"
+#~ "勧めしません。"
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "ビルドをもっと最適化する場合は GCL_PROF 環境変数に空白文字列を、profiling "
+#~ "をサポートさせる場合は空白ではない任意の文字列をセットしてください。例え"
+#~ "ば GCL_PROF=t gcl@EXT@。profiling が有効な場合、初期の開始時バナーで報告さ"
+#~ "れます。"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..324ec90
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,80 @@
+# Dutch translation of gcl27 debconf templates.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27_2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-12 23:27+0200\n"
+"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
+"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Wilt u standaard de in-ontwikkeling-zijnde ansi-compilatie gebruiken?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL is bezig met het aanbieden van een ANSI-conform image naast zijn "
+"traditioneel CLtL1-image dat nog steeds in een productieomgeving wordt "
+"gebruikt. Raadpleeg het bestand README.Debian voor een korte beschrijving "
+"van deze termen. Door deze variabele in te stellen, bepaalt u welk image u "
+"standaard gebruikt bij het uitvoeren van 'gcl27'. U kunt deze keuze lokaal "
+"overschrijven door de omgevingsvariabele GCL_ANSI in te stellen op een "
+"willekeurige tekenreeks, behalve op 'no' voor de ANSI-compilatie en op 'no' "
+"voor de CLtL1-compilatie, bijvoorbeeld GCL_ANSI=t gcl27. Welke de van kracht "
+"zijnde compilatievorm is, zal worden gerapporteerd in de initiële "
+"opstartbanner."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr ""
+"Wilt u standaard een compilatie met ondersteuning voor profilering gebruiken?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL biedt nu optionele ondersteuning voor profilering via gprof. Raadpleeg "
+"de documentatie bij si::gprof-start en si::gprof-quit voor meer informatie. "
+"Omdat deze compilatie trager is dan een compilatie zonder gprof-"
+"ondersteuning, wordt deze niet aanbevolen voor het uiteindelijke gebruik in "
+"een productieomgeving. U kunt de hier gemaakte standaardkeuze lokaal "
+"overschrijven door de omgevingsvariabele GCL_PROF in te stellen op een niet-"
+"lege tekenreeks voor profileringsondersteuning, en op de lege tekenreeks "
+"voor de meer geoptimaliseerde compilatie, bijvoorbeeld GCL_PROF=t gcl27. Als "
+"profilering is ingeschakeld, wordt dit vermeld in de initiële opstartbanner."
diff --git a/po/pt.po b/po/pt.po
new file mode 100644 (file)
index 0000000..95dbdab
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,129 @@
+# translation of gcl debconf to European Portuguese
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+# Américo Monteiro <a_monteiro@gmx.com>, 2007 - 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-07 21:40+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
+"Language-Team: Portuguese <>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Usar a compilação ainda-em-desenvolvimento ANSI por predefinição?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL está no processo de disponibilizar uma imagem compatível com ANSI "
+"adicionalmente à sua imagem tradicional CLtL1 ainda em utilização de "
+"produção. Por favor veja o ficheiro README.Debian para uma breve descrição "
+"destes termos. Definir esta variável irá determinar qual imagem você irá "
+"usar por predefinição ao executar o 'gcl27'. Você pode sobrepor localmente "
+"esta opção ao regular a variável de ambiente GCL_ANSI para qualquer string "
+"diferente de \"no\" para a compilação ANSI, e para \"no\" para a compilação "
+"CLtL1, ex. GCL_ANSI=t gcl27. O tipo de compilação imposto será reportado no "
+"banner inicial de arranque."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usar a compilação com perfis (profiling) como predefinição?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"O GCL agora tem suporte opcional para perfis via gprof.  Por favor veja a "
+"documentação para si::gprof-start e si::gprof-quit para detalhes. Como esta "
+"compilação é mais lenta que as compilações sem suporte a gprof, não é "
+"recomendada para utilização de produção final. Você pode sobrepor localmente "
+"a escolha predefinida feita aqui ao definir a variável de ambiente GCL_PROF "
+"para qualquer string não vazia para suporte a perfis, e para uma string "
+"vazia para as compilações mais otimizadas, ex. GCL_PROF=t gcl27.  Se os "
+"perfis estiverem activos, isso será reportado no banner inicial de arranque."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL está no processo de disponibilizar uma imagem compatível com ANSI "
+#~ "como adição à sua imagem tradicional CLtL1 ainda em utilização de "
+#~ "produção."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor veja o ficheiro README.Debian para uma breve descrição destes "
+#~ "termos. Escolher esta opção irá determinar qual imagem será usada por "
+#~ "prédefinição ao executar 'gcl@EXT@'."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Esta opção pode ser sobreposta ao regular a variável de ambiente GCL_ANSI "
+#~ "para qualquer string não-vazia para a compilação ANSI, e para uma string "
+#~ "vazia para a compilação CLtL1, como por exemplo GCL_ANSI=t gcl@EXT@. O "
+#~ "tipo de compilação actualmente imposto será reportado no banner inicial "
+#~ "de arranque."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "O GCL tem suporte opcional para 'profiling' via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor veja a documentação de si::gprof-start e si::gprof-quit para "
+#~ "mais detalhes. Como esta compilação é mais lenta do que as compilações "
+#~ "sem o suporte para gprof, não é recomendada para utilização de produção "
+#~ "final."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Regule a variável de ambiente GCL_PROF para uma string vazia para mais "
+#~ "compilações optimizadas, ou para qualquer string não-vazia para suporte "
+#~ "de 'profiling'; como por exemplo GCL_PROF=t gcl@EXT@. Se o 'profiling' "
+#~ "estiver activo, isto será reportado no banner inicial de arranque."
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..57caf15
--- /dev/null
@@ -0,0 +1,109 @@
+# Debconf translations for gcl.
+# Copyright (C) 2016 THE gcl'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+# Adriano Rafael Gomes <adrianorg@arg.eti.br>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2016-01-05 11:09-0200\n"
+"Last-Translator: Adriano Rafael Gomes <adrianorg@arg.eti.br>\n"
+"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
+"org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Usar a versão ANSI em desenvolvimento por padrão?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usar a versão de \"profiling\" por padrão?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "O GCL está em processo de fornecer uma imagem de acordo com o padrão ANSI "
+#~ "em adição à sua imagem CLtL1 tradicional, ainda em uso em produção."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor, veja o arquivo README.Debian para uma breve descrição desses "
+#~ "termos. Escolher essa opção determinará qual imagem será usada por padrão "
+#~ "ao executar \"gcl@EXT@\"."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Essa configuração pode ser sobreposta definindo a variável de ambiente "
+#~ "GCL_ANSI para qualquer texto não vazio para a versão ANSI, e para um "
+#~ "texto vazio para a versão CLtL1, por exemplo, GCL_ANSI=t gcl@EXT@. O "
+#~ "sabor da versão atualmente definida será exibida na mensagem de "
+#~ "inicialização."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "O GCL tem suporte opcional a \"profiling\" via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor, veja a documentação para si::gprof-start e si::gprof-quit para "
+#~ "detalhes. Como essa versão é mais lenta que versões sem suporte a gprof, "
+#~ "ela não é recomendada para uso final em produção."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Defina a variável de ambiente GCL_PROF para um texto vazio para versões "
+#~ "mais otimizadas, ou para qualquer texto não vazio para ter suporte a "
+#~ "\"profiling\"; por exemplo, GCL_PROF=t gcl@EXT@. Se o \"profiling\" "
+#~ "estiver habilitado, isso será exibido na mensagem de inicialização."
diff --git a/po/ru.po b/po/ru.po
new file mode 100644 (file)
index 0000000..6e8f75f
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,111 @@
+# translation of ru.po to Russian
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Yuri Kozlov <kozlov.y@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.6.7-36\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-03 10:22+0300\n"
+"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Использовать разрабатываемую ANSI сборку по умолчанию?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Использовать по умолчанию профилируемую сборку?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Помимо обычного образа CLtL1, используемого в повсеместной работе, GCL "
+#~ "имеет практически готовый образ, соответствующий ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Краткое описание приведено в файле README.Debian. Данным выбором "
+#~ "определяется, какой из образов будет использован по умолчанию при "
+#~ "выполнении 'gcl@EXT@'."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Эта настройка может быть переопределена установкой переменной окружения "
+#~ "GCL_ANSI в непустое значение для ANSI сборки, а пустым значением "
+#~ "выбирается CLtL1 сборка, например GCL_ANSI=t gcl@EXT@. Текущий "
+#~ "используемый тип сборки будет показан при первом запуске."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL поддерживает необязательное профилирование через gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Подробней об этом смотрите в документации на si::gprof-start и si::gprof-"
+#~ "quit. Так как данная сборка работает медленнее чем без поддержки gprof, "
+#~ "её не рекомендуется использовать в реальной работе."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Задание переменной окружения GCL_PROF пустого значения включает более "
+#~ "оптимизированную сборку, а любое непустое -- поддержку профилирования; "
+#~ "например GCL_PROF=t gcl@EXT@. Если профилирование включено, то об этом "
+#~ "будет написано при первом запуске."
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..e08465e
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,78 @@
+# Translation of gcl27 debconf template to Swedish
+# Copyright (C) 2025 Martin Bagge <brother@persilja.net>
+# This file is distributed under the same license as the XX package.
+#
+# Martin Ågren <martin.agren@gmail.com>, 2008.
+# Martin Bagge <brother@persilja.net>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl_2.6.7-36.1_sv\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: 2025-12-12 13:47+0100\n"
+"Last-Translator: Martin Bagge <brother@persilja.net>\n"
+"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: emacs\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Använd det ännu inte färdiga ANSI-bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the "
+"README.Debian file for a brief description of these terms.  Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+"GCL arbetar på att tillhandahålla en ANSI-kompatibel avbildning utöver den "
+"traditionella CLtL1-avbildningen som alltjämt används i produktionsmiljö. "
+"Läs filen README.Debian för en kort beskrivning av dessa termer. Genom detta "
+"val bestäms vilken avbildning som används som standard när 'gcl27' "
+"exekveras. Du kan fortfarande göra lokala undantag från detta val genom att "
+"sätta miljövariabeln GCL_ANSI till en annan sträng än \"no\" för att få ANSI-"
+"avbildningen eller ange \"no\" för att få CLtL1-avbildningen. Alltså "
+"GCL_ANSI=t gcl27. Vilken avbildning som används uppges i utskriften vid "
+"uppstarten."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Ska profilering användas som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
+"GCL har numera möjlighet att utföra profilering med hjälp av gprof. Läs mer "
+"i dokumentationen om si::gprof-start och si::gprof-quit för närmare "
+"information. Eftersom denna typ av bygge är långsammare än utan stöd för "
+"gprof är rekommendationen att inte använda det för i produktionsmiljön. Du "
+"kan göra lokala undantag från standardvalet här genom att sätta "
+"miljövariablen GCL_PROF till en sträng som inte är tom för att få "
+"profilering aktiverat. Eller till tom sträng för ett mer optimerat bygge. "
+"Exempelvis GCL_PROF=t gcl27. Om profilering är aktiverat kommer detta att "
+"framgå i meddelandet vid start."
diff --git a/po/templates.pot b/po/templates.pot
new file mode 100644 (file)
index 0000000..f9e6e6f
--- /dev/null
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl27 package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the "
+"README.Debian file for a brief description of these terms.  Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..067273e
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,111 @@
+# Vietnamese translation for GCL.
+# Copyright © 2007 Free Software Foundation, Inc.
+# Copyright © 2024 Camm Maguire
+# Clytie Siddall <clytie@riverland.net.au>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.6.7-36\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-04 16:27+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b1\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Dùng bản xây dựng đang phát triển ANSI theo mặc định không?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use.  Please see the README."
+"Debian file for a brief description of these terms.  Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'.  "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Dùng bản xây dựng đo hiệu năng sử dụng theo mặc định không?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof.  Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL đang phát triển chức năng cung cấp ảnh tùy theo ANSI thêm vào ảnh "
+#~ "CLtL1 truyền thống vẫn còn được sử dụng trong trường hợp sản xuất."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Xem tài liệu Đọc Đi (README.Debian) để tìm mô tả ngắn về các thuật ngữ "
+#~ "này. Bật tùy chọn này thì xác định ảnh nào cần dùng theo mặc định khi "
+#~ "thực hiện lệnh « gcl@EXT@ »."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Vẫn còn có thể ghi đè lên thiết lập này bằng cách đặt biến môi trường "
+#~ "« GCL_ANSI » thành bắt cứ chuỗi không rỗng cho bản xây dựng ANSI, và cho "
+#~ "chuỗi rỗng cho bản xây dựng CLtL1, v.d. « GCL_ANSI=t gcl@EXT@ ». Kiểu bản "
+#~ "xây dựng hiện thời được chọn sẽ được thông báo trên băng cờ khởi chạy đầu "
+#~ "tiên."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL có hỗ trợ tùy chọn để đo hiệu năng sử dụng thông qua gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Xem tài liệu hướng dẫn về « si::gprof-start » và « si::gprof-quit » để "
+#~ "tìm chi tiết. Vì bản xây dựng này chạy chậm hơn các bản xây dựng không hỗ "
+#~ "trợ gprof, không khuyên bạn sử dụng nó trong trường hợp sản xuất cuối "
+#~ "cùng."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Đặt biến môi trường « GCL_PROF » thành chuỗi rỗng cho các bản xây dựng "
+#~ "tối ưu hơn, hoặc cho bất cứ chuỗi không rỗng nào để hỗ trợ chức năng đo "
+#~ "hiệu năng sử dụng, v.d. « GCL_PROF=t gcl@EXT@ ». Hiệu lực chức năng đo "
+#~ "hiệu năng sử dụng thì nó được thông báo trên băng cờ khởi chạy đầu tiên."
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..ffe6181
--- /dev/null
+++ b/rules
@@ -0,0 +1,201 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper. 
+# GNU copyright 1997 by Joey Hess.
+# GNU copyright 2024 Camm Maguire
+#
+# This version is for a hypothetical package that builds an
+# architecture-dependant package, as well as an architecture-independent
+# package.
+
+# Uncomment this to turn on verbose mode. 
+#export DH_VERBOSE=1
+
+#export GCL_MEM_MULTIPLE=0.1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
+ifneq (,$(NUMJOBS))
+MAKEFLAGS+=-j $(NUMJOBS) -O
+GCL_MULTIPROCESS_MEMORY_POOL?=$(shell pwd)
+export GCL_MULTIPROCESS_MEMORY_POOL
+endif
+
+# This is the debhelper compatability version to use.
+ARCHT:=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+MCC?=gcc
+# ifeq ($(ARCHT),alpha)
+# MCC:=gcc-4.6
+# endif
+
+CFLAGS_APPEND?=
+#ifeq ($(ARCHT),ppc64)
+#CFLAGS_APPEND:=$(CFLAGS_APPEND) -O1
+#endif
+
+DEBUG?=
+#ifeq ($(ARCHT),hppa)
+#DEBUG=--enable-debug
+#endif
+
+VERS=$(shell echo $$(cat majvers).$$(cat minvers))
+EXT=$(shell echo $(VERS) | sed 's,\([0-9]\)\.\([0-9]\)\..*,\1\2,')
+
+debian/elpa-gcl$(EXT).elpa: debian/gcl$(EXT)-pkg.el
+       find elisp -name "*.el" >$@
+#      echo debian/gcl$(EXT).el >> debian/elpa-gcl$(EXT).elpa
+       echo debian/gcl$(EXT)-pkg.el >> debian/elpa-gcl$(EXT).elpa
+       echo debian/debian-autoloads.el >> debian/elpa-gcl$(EXT).elpa
+
+VR:=$(shell awk '{if (i) next;i=1;a=$$2;gsub("[()]","",a);split(a,A,"-");print A[1];}' debian/changelog)
+
+debian/gcl$(EXT)-pkg.el: debian/gcl-pkg.el.in
+       cat $< | sed "s,@VR@,$$(echo $(VR) | sed 's,[a-zA-Z]*,,g'),g" | sed "s,@EXT@,$(EXT),g" > $@
+
+
+configure-stamp:
+
+       dh_testdir
+
+       dh_autoreconf
+
+       eval `dpkg-buildflags --export=sh` && \
+       CC=$(MCC) CFLAGS="$$CFLAGS $(CFLAGS_APPEND)" ./configure \
+               --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) \
+               $(DEBUG) \
+               --prefix=/usr
+
+       touch $@
+
+build-stamp: configure-stamp
+       dh_testdir
+       $(MAKE) $(MAKEFLAGS)
+       $(MAKE) $(MAKEFLAGS) check
+       touch $@
+
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: #build-stamp
+       touch $@
+
+DOC_STUBS=gcl$(EXT) gcl$(EXT)-si gcl$(EXT)-tk gcl$(EXT)-dwdoc
+DOC_FILES=$(addsuffix  .info,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .dvi,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .pdf,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .html,$(DOC_STUBS))
+DOC_FFILES=$(addprefix info/,$(DOC_FILES))
+EXT_TARGS=$(DOC_FFILES) man/man1/gcl$(EXT).1 bin/gcl$(EXT)
+
+install-stamp: build-stamp
+       dh_testdir
+       dh_testroot
+       dh_prep
+       $(MAKE) $(MAKEFLAGS) install-all DESTDIR=$$(pwd)/debian/tmp
+       $(MAKE) $(MAKEFLAGS) $(EXT_TARGS)
+       for i in $(EXT_TARGS); do \
+               for j in $$i*; do \
+                       if [ -d $$j ] ; then l=d ; r=-r ; else l=f ; fi ; \
+                       k=$$(find debian/tmp -type $$l -name $$(echo $$(basename $$j) | sed 's,$(EXT),,g')); \
+                       [ "$$k" = "" ] || cp $$r $$j $$(dirname $$k) ; \
+                       echo $$i $$j $$k; \
+                       [ "$$k" = "" ] || chmod $$(dirname $$k)/$$(basename $$j) --reference=$$k ; \
+                       [ "$$k" = "" ] || rm $$r $$k ; \
+               done ; \
+       done
+       mv debian/tmp/usr/share/doc/gcl debian/tmp/usr/share/doc/gcl$(EXT)
+       touch $@
+
+INS:=$(shell for i in `find debian -name "in.*"` ; do \
+               echo $$i | sed 's,in.,,1' ; \
+               done |\
+            sed "s,\([^x]gcl\),\1$(EXT),g")
+
+gcl$(EXT)% : in.gcl%
+       cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
+
+debian/po/POTFILES.in: debian/po/in.POTFILES.in
+       cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
+
+debian/control: debian/control_$(EXT)
+       cp $< $@
+
+install: DH_OPTIONS:=
+install: install-stamp debian/control $(INS)
+       dh_installdirs
+       dh_install
+
+clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
+       dh_testdir
+       dh_testroot
+       debconf-updatepo
+
+       ! [ -e Makefile ] || $(MAKE) $(MAKEFLAGS) distclean
+
+       dh_autoreconf_clean
+       dh_clean
+
+       for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
+       rm -rf debian/substvars debian.upstream
+       rm -rf *stamp build-indep
+       rm -f  debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
+       rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
+
+debian-clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
+       dh_testdir
+       dh_testroot
+       debconf-updatepo
+
+       dh_clean
+
+       for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
+       rm -rf debian/substvars debian.upstream
+       rm -rf *stamp build-indep
+       rm -f  debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
+       rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
+
+
+
+# Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: DH_OPTIONS:=-i
+binary-indep: build install debian/elpa-gcl$(EXT).elpa
+       dh_testdir
+       dh_testroot
+       dh_elpa
+       dh_installdocs
+       dh_installinfo
+       dh_installchangelogs ChangeLog
+       dh_link
+       dh_compress 
+       dh_fixperms 
+       dh_installdeb 
+       dh_gencontrol 
+       dh_md5sums 
+       dh_builddeb 
+
+binary-arch: DH_OPTIONS=-a
+binary-arch: build install #debian/substvars
+       dh_testdir 
+       dh_testroot 
+       dh_installdocs
+       dh_installdebconf 
+       sed -i -e 's,@EXT@,$(EXT),g' debian/gcl$(EXT)/DEBIAN/templates
+       dh_installchangelogs ChangeLog 
+       dh_strip  -Xlibgcl -Xlibansi_gcl -Xlibgcl_gprof -Xlibansi_gcl_gprof
+       dh_lintian 
+       dh_link 
+       dh_compress 
+       dh_fixperms 
+       dh_installdeb 
+       dh_shlibdeps 
+       dh_gencontrol  -u"-Vgcc=$(MCC)"
+       dh_md5sums 
+       dh_builddeb 
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+.PRECIOUS: configure-trad-stamp configure-ansi-stamp configure-gprof-stamp configure-ansi-gprof-stamp
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/include-binaries b/source/include-binaries
new file mode 100644 (file)
index 0000000..091df7a
--- /dev/null
@@ -0,0 +1,4 @@
+info/gcl.pdf
+info/gcl-si.pdf
+info/gcl-tk.pdf
+xgcl-2/dwdoc.pdf
diff --git a/texi.awk b/texi.awk
new file mode 100755 (executable)
index 0000000..ccf9cdb
--- /dev/null
+++ b/texi.awk
@@ -0,0 +1,27 @@
+#!/usr/bin/awk -f
+
+/^@defun/ {
+  a=split($0,A,"(");
+  b=split($0,B,")");
+  if (a==b) 
+    print ; 
+  else {
+    i=1;
+    c=$0;
+  }
+  next;
+} 
+{
+  if (i) {
+    sub("^ *","");
+    c=c " " $0;
+    a=split(c,A,"(");
+    b=split(c,B,")");
+    if (a==b) {
+      print c;
+      c="";
+      i=0;
+    }
+  } else 
+    print;
+}
diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..763a447
--- /dev/null
@@ -0,0 +1,13 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEY72GEhYJKwYBBAHaRw8BAQdA0hMaElCclwaCCulgX4m8rDdHFFQvYsZlh01C
+P5LGsOG0JUNhbW0gTWFndWlyZSA8Y2FtbUBtYWd1aXJlZmFtaWx5Lm9yZz6IjwQT
+FggAOBYhBGp0ZZ8fIxkel/m2XhrylJS+USuuBQJjvYYSAhsDBQsJCAcDBRUKCQgL
+BRYCAwEAAh4BAheAAAoJEBrylJS+USuub7AA+MkuPTCpVNVEQCwBTeiG8o3haoss
+t5527jQZtAO4+zoBAL0VaTA+KFzVgWHEDoAybH2TC0DMnf75glwTmWg+PgoNuDgE
+Y72GEhIKKwYBBAGXVQEFAQEHQC+wtP2/fnklVYfh7sP7KpkzLgFyOCNSMFY5mKjB
+XfI5AwEIB4h4BBgWCAAgFiEEanRlnx8jGR6X+bZeGvKUlL5RK64FAmO9hhICGwwA
+CgkQGvKUlL5RK64vIgD+LaehRHfaNaJEe4H9lbq1ocu11YABw66a5XsKvU6gXi4A
+/A1jbf1vLz7JrvZQLAPQ/n8+E9ePART7zAoiqDWIEXAO
+=bH2+
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..4e862f2
--- /dev/null
+++ b/watch
@@ -0,0 +1,2 @@
+version=4
+options=pasv,pgpsigurlmangle=s/$/.sig/ ftp://ftp.gnu.org/pub/gnu/gcl   gcl-([0-9.]*).tar.gz    debian  uupdate